使用nc命令来探测tcp/udp端口
时间:2013-10-29 07:10:40 作者:vaster 标签: Linux nc udp 分类: Linux
usage: nc [-46DdhklnrStUuvzC] [-i interval] [-p source_port]
[-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_version]
[-x proxy_address[:port]] [hostname] [port[s]]
测试tcp:
# nc -vzw 1 10.52.140.180 1-123|grep -iv "refused" Connection to 10.52.140.180 22 port [tcp/ssh] succeeded! Connection to 10.52.140.180 80 port [tcp/http] succeeded!Connection to 10.52.140.180 111 port [tcp/sunrpc] succeeded! Connection to 10.52.140.180 111 port [tcp/sunrpc] succeeded!
测试udp:
方法1:
# nc -uvzw 1 10.52.140.180 1-123Connection to 10.52.140.180 111 port [udp/sunrpc] succeeded! Connection to 10.52.140.180 111 port [udp/sunrpc] succeeded!
(小贴士:如果这里很快就执行完毕,就表示,其他的很多端口在本地防火墙OUTPUT时就被限制了。)
方法2:
# nc -u 10.52.140.180 123
进入回显界面,键入字符,只要不报错,就证明没有连通udp没有问题。
如果显示:Write error: Connection refused。 就表示不能联通udp端口。
命令参数说明:
| -4 | 强制使用ipv4 |
| -6 | 强制使用ipv6 |
| -D | 允许socket通信返回debug信息 |
| -d | 不允许从标准输入中读取 |
| -h | 显示nc帮助文档 |
| -i interval | 指定每行之间内容延时发送和接受,也可以使多个端口之间的连接延时 |
| -k | 当一个连接结束时,强制nc监听另一个连接。必须和-l一起使用 |
| -l | 用于监听传入的数据链接,不能与-p -z -s一起使用。-w 参数的超时也会被忽略 |
| -n | 不执行任何地址,主机名,端口或DNS查询 |
| -p | 指定nc使用的源端口,受权限限制且不能余-l一起使用 |
| -r | 指定nc使用的源端口和目的端口,不能使用系统原来就指定的那些端口 |
| -S | 允许在RFC 2385的TCP MD5签名选项 |
| -s source_ip_address | 指定用于发包的接口的IP地址,不能和-l一起使用 |
| -T ToS | 指定链接的IP服务类型(TOS) |
| -C | 自动换行 |
| -t | 使nc能够与telnet交互 |
| -U | 使用UNIX域socket |
| -u | 使用udp代替默认的tcp选项 |
| -v | 输出详细报告 |
| -w timeout | 一个链接一段时间无操作,则自动断开,默认无超时 |
| -X proxy_version | 指定nc使用代理时所采用的协议,可选的有socksv4,socks5以及https。默认socks5 |
| -x proxy_address[:port] | 指定nc使用的代理地址和端口。默认设置:1080(SOCKS),3128(HTTPS) |
| -z | 只监听不发送任何包 |