Linux 中nc指令的使用总结

nc指令概述

nc 是 Linux 系统中的 netcat 命令之简称,它是一个强大的网络工具,可以用于创建 TCP/UDP 套接字连接。常见的其用法模板可定位:nc [选项] [地址] [端口],它的用法如下图所示:

请添加图片描述

知道你英语差了一丢丢,小鸽鸽给你准备了中文版:

OpenBSD的netcat(Debian版本为1.206-1ubuntu1)的使用方法: 用法:nc [选项] [目标] [端口] 选项:
-4 使用IPv4
-6 使用IPv6
-b 允许广播
-C 发送CRLF作为行结束符
-D 启用调试套接字选项
-d 从stdin分离
-F 传递套接字fd
-h 此帮助文本
-I length TCP接收缓冲区长度
-i interval 发送行/扫描端口的延迟间隔
-k 保持传入套接字开启以进行多个连接
-l 监听模式,为了传入连接
-M ttl 发送的TTL /跳限
-m minttl 最小接收TTL/跳限
-N 在stdin出现EOF后关闭网络套接字
-n 禁止名称/端口解析
-O length TCP发送缓冲区长度
-P proxyuser 代理认证的用户名
-p port 为远程连接指定本地端口
-q secs 在stdin出现EOF后延迟后退出
-r 随机化远程端口
-S 启用TCP MD5签名选项
-s source 本地源地址
-T keyword TOS值
-t 回答TELNET协商
-U 使用UNIX域套接字
-u UDP模式
-V rtable 指定备用路由表
-v 详细信息
-W recvlimit 接收一定数量的数据包后终止
-w timeout 进行连接和最终网络读取的超时时间
-X proto 代理协议:“4”,“5”(SOCKS)或"connect"
-x addr[:port] 指定代理地址和端口
-Z DCCP模式
-z 零I / O模式[用于扫描]
端口号可以是单个或范围:lo-hi[包括]

用法一:端口扫描

语法:nc -vz localhost m-n
端口扫描既可以是单个端口也可以是多个端口,以上指令扫描的是m-n之间端口号,来验证这些端口中哪些是可通的、是可以连接的、开放的。此指令是想尝试连接到本地的 m 到 n 端口。对于每个成功的连接,它都会打印一个消息并退出。如果端口是关闭的或不可达的,它将不打印任何消息。使用 -vz 选项可以显示详细的输出并仅显示开放的端口。

😙首先通过netstat -an指令列出某设备或者说IP上所有开放的端口号

请添加图片描述

发现192.168.149.129的138端口号是开放的,我们通过指令nc -vz 来扫描130-145之间的所有端口号,除了138端口之外所有都显示connection refused

请添加图片描述

用法二:命令行中发送和接收数据

通过 nc,你可以在命令行中发送和接收数据,这在调试网络应用或进行一些简单的网络通信时非常有用。

首先,我们需要打开一个nc会话来监听我们的端口。这可以通过以下命令完成:nc -l 138

在这个命令中,“-l”参数表示“listen”138是我们想要监听的端口号。当我们运行这个命令时,nc会在指定端口上监听,等待接收数据。

然后,我们可以使用另一个nc命令从另一台机器向上述nc会话发送数据。假设你的Linux机器的IP是192.168.149.129,你可以在另一台机器上运行以下命令:

echo "Hello, World!" | nc 192.168.149.129 138

在这个命令中,“echo “Hello, World!””会产生“Hello, World!”这个字符串,然后通过管道将这个字符串传递给nc命令。nc命令会将这个字符串发送到你之前监听的192.168.149.129138端口。

当你发送数据后,你之前监听的nc会话应该能接收到这些数据,并在命令行中显示出来。

同样地,你也可以在nc会话中向外部主机发送数据。例如,你可以在nc会话中输入“Hello, World!”并按回车键,这将向与你nc会话连接的任何主机发送这个字符

下图坐左边显示是接收端,将消息“duzhongbo”发送到IP的138端口上,右边一直在监听138这个端口,一旦消息发过来便会立即接收。

请添加图片描述

用法三:建立双方通信

通过在一个终端上监听某端口号:nc -l port

然后在另一个终端上连接该端口号: nc IP Port

之后便可双方建立通信链路
请添加图片描述

总结:其实对于nc指令的用法来讲就是连个,一是进行端口扫描检查,二是利用其建立不同终端见的通信

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江南霹雳堂雷家雷无桀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值