赞
踩
nc(netcat)是一个简单、可靠的网络工具,可以用于实现任意TCP/UDP端口的侦听、端口扫描、机器之间传输文件等任务。
常用参数说明:
-h:打印帮助。
-k:强制nc在其当前连接完成后继续侦听另一个连接。-k 必须与 -l 一起使用。
-l:用于指定nc将处于侦听模式,即作为server侦听指定端口。
-n:不对任何指定的地址、主机名或端口进行任何DNS或服务查找。
-p:指定本机应该使用的源端口。
-s:指定发送数据的源IP地址,适用于多网卡机。
-u:指定nc使用UDP协议,默认为TCP。
-v:输出交互或出错信息,新手调试时尤为有用。
-w:超时秒数,后面跟正整数。
-z:表示zero,表示扫描时不发送任何数据。
nc命令的用法示例:
1. 测试远程主机指定tcp/udp端口是否开放
- nc -zv 8.8.8.8 53
- nc -uzv 8.8.8.8 53
2. 打开一个到 10.0.10.9 的52端口的TCP连接,使用31337端口作为源端口,超时时间为5秒:
nc -p 31337 -w 5 10.0.10.9 52
3. 打开一个到 10.0.10.9 52端口的TCP连接,使用10.1.2.3作为连接本地端的IP地址:
nc -s 10.1.2.3 10.0.10.9 52
4. 创建并监听一个UNIX流套接字:
nc -lU /var/tmp/usocket
5. 传输文件:
- #server:
- nc -lp 5050 > tfile
-
- #client
- nc -nv 192.168.56.2 5050 < tfile
- Connection to 192.168.56.2 port 5050 [tcp/*] succeeded!
测试截图如下
6. 扫描指定范围的端口(扫TCP端口的速度很慢):
- nc -zv 192.168.1.123 20-1024
- nc -uzv 192.168.1.123 20-1024
PS:
nc和ncat命令在Linux操作系统中是不一样的。首先,nc是"netcat"的缩写,而ncat则是"netcat (from Nmap)"的缩写,其中nc来自于netcat原始版本,而ncat则来自于nmap项目。其次,ncat比nc多了一些特性,例如SSL/TLS加密、通过HTTP代理进行转发等等,因此ncat的功能更为强大。最后,需要注意的是,在某些Linux发行版中,nc已经被替换为了ncat,因此在使用nc命令时需要注意查看命令的具体帮助信息。
参考文档:
相关阅读:
PS:
本文首发于公众号: 程序熵, 更多有用文章请点击关注 code-shang
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。