命令概述
Linux 的 nc (或者说“netcat”)是一种非常强大的和灵活的命令,可以用于从网络接口读写数据。它能够创建 TCP 或者 UDP 连接,并且在数据传输完之后自动关闭连接。它经常用于端口扫描、网络连接测试以及数据的传输。
命令格式
基本的 nc 命令格式如下:
nc [选项] [目标地址] [端口列表]
参数和选项解释
-h
打印帮助信息-v
详细输出执行结果,可以使用几次以增加详情级别。-z
表示 zero,仅检查连通性但不发送数据。-l
用于指定 nc 应该监听即将传入的连接,而不是启动一个向外的连接。-p
用于指定源端口。-w
设置连接超时,单位:秒。后面跟正整数。-n
不对任何指定的地址、主机名或端口进行任何 DNS 或服务查找-u
指定 nc 使用 UDP 协议,默认为 TCP<
将指定文件中的数据发送到网络连接。>
将网络连接的数据写入到指定文件。
使用示例
以下是一些实际的使用示例:
扫描一个 IP 地址的指定范围的端口
nc -vz 192.168.0.1 1-1000
这条命令会向 IP 地址为 192.168.0.1 的 1 到 1000 个端口分别发送数据包,以检查这些端口是否开放。
当然,我们还可以仅仅指定某一个端口,比如这里仅指定 8080 端口
nc -vz 192.168.0.1 8080
还可以特定仅仅测试 8080 是否使用 UDP 协议
nc -vzu 192.168.0.1 8080
传输文件
首先,在接收端执行下面的命令,监听 8080 端口并接收数据写入到 text.file 中:
nc -lp 8080 > text.file
然后,在发送端执行下面的命令,将 text.file 的数据发送到接收端:
nc -nv -w 3 [接受者的IP] 8080 < text.file
注意事项
当使用 nc 进行网络操作的时候,永远记住,网络活动往往不是隐秘的。确保你已经得到了足够的授权,才可以考虑去执行某些网络操作。
写到最后
nc 的强大之处在于其灵活性。在理解了它的基本工作方式后,你可以根据需要创建各种各样的脚本来实现你的需求。对于网络管理员或安全工程师而言,nc 是一个非常强大的工具。

最后说个事
公号算法变了,为防止看不到我的更新
大家帮忙加个星标
点击上方的公众号卡片
再点右上角三个点
就能看到设为星标
算我跪下来求你们
往期精选:
文章转载自蒲东平,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




