1. 扫描端口
nc -vz google.com 80
使用nc -vz参数可以进行端口扫描,-v表示输出详细信息,-z表示只扫描端口而不发送数据。
nc -nvuz 82.156.125.169 666
nc -nvz 192.168.1.110 1521 --u udp
nc -nvz 82.156.125.169 20-24
$ nc -vz -n -w 1 targethost 1-100
2.文字交流
nc -w 3 remotehost 1234 < localfile.txt
nc -l 1314 > w.txt
nc 82.156.125.169 1314 < w.txt
1. nc -l -p 1234
2. nc targethost 1234
-n参数表示不使用DNS解析,-w 1参数表示等待1秒钟后超时,targethost是目标主机的地址,1-100表示扫描1到100端口。
3.远程shell
1. nc -l -p 1234 -e /bin/bash
2. nc targethost 1234
这里上面连接时要用nc去打command,不是ssh连接的,
和Nginx端口转发又不一样,端口转发涉及到三台机器的连接
nc -l 1234 -c "nc 192.168.1.110 22"
4. 本地端口转发
nc -l 1523 -c "nc 192.168.1.100 1521"
nc -l 1523 -c "nc 192.168.1.100 1521" ---建立连接后如果断开再执行一次
nc -l 1234 -c "nc 192.168.1.110 22"
总结
nc -nvuz ip port 可以检测指定IP的UDP端口能否访问,如果是TCP端口去掉 -u 选项就可以了
nc -l port 可以启动一个本地服务器,接受发往指定端口的数据,并打印到控制台
nc -l port > filename 可以启动一个本地服务器,接受发往指定端口的数据,并保存到名为 filename 的文件中
nc -l port -c "nc ip new_port" 可以启动一个本地服务器,接受发往指定端口的数据,并转发到ip:new_port的机器上