使用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 | 只监听不发送任何包 |