nc命令详解

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

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值