网络工具神器netcat
1. Netcat2. 使用
1.1. 简介
netcat
(以下简称为nc
)是一个非常强大的跨平台网络工具(Windows/Linux/MacOS),包括但不限于以下场景的使用
鉴于nc
的使用用途过多,本文主要实践了常用的端口扫描、宽带测试以及文件传输等 3 个功能
1.2. 安装
在 Linux 下安装nc
# Debian/Ubuntu sudo apt-get install netcat # CentOS/Fedora sudo yum -y install nc # ArchLinux sudo pacman -S gnu-netcat # Alpine sudo apk add netcat-openbsd
在 Windows 下安装 Netcat(也称为 nc
)程序可以通过以下步骤完成
nc.exe
文件放置在一个方便的位置,例如 C:\Apps\Bin\netcat
下
将 C:\Apps\Bin\netcat
添加到系统的环境变量中,以便在任何位置都可以直接使用 nc
命令
2. 使用2.1. 端口扫描
nc
测试 192.168.1.100
的 80 端口
nc -zv 192.168.1.100 80
输出如下,可以看到端口是畅通的
content_copy$ nc -zv 192.168.1.100 23456 Connection to 192.168.1.100 23456 port [tcp/http] succeeded!
测试时常用指令如下:
-z
:让 netcat 在连接建立后立即关闭连接,常用于扫描监听某个端口的服务是否开启
-u
:使用 UDP 协议进行连接,不加这个参数默认使用的是 TCP 协议
-v
:详细模式,显示执行的详细情况
-l
:用于设置 netcat 为监听模式,通常用于创建服务
-p
:指定本地的端口
-w
:设置连接超时时间
-n
:不进行 DNS 名称解析
除了单个端口扫描外,我们也可以一次性扫描多个端口
content_copync -zv -w 1 192.168.1.100 1-10000
上面的命令会输出大量不成功的记录,如果我们只想知道哪些端口是开放的,可以结合grep
来过滤输出结果
nc -zv -w 1 192.168.1.100 1-10000 2>&1 | grep succeeded
2.2. 网络带宽
如果要测试网络带宽,可以结合pv
来实现
pv
(Pipe Viewer)是 Linux 中的一个用于显示数据传输的进度信息工具,用于监视管道或文件传输的进度和速度
在 A 机器(192.168.1.100)上,接收数据的指令
content_copync -l 23456 > /dev/null
在 B 机器上,发送数据(100Mb)给 A 机器
content_copydd if=/dev/zero bs=1M count=100 | pv -pterb | nc 192.168.1.100 23456
执行输出如下
content_copychancel@j3455 ~$ dd if=/dev/zero bs=1M count=10 | pv -pterb | nc 192.168.1.100 23456 10+0 records in [1.08MiB/s] [ <=> ] 10+0 records out 10485760 bytes (10 MB, 10 MiB) copied, 1.36881 s, 7.7 MB/s 10.0MiB 0:00:01 [7.27MiB/s] [ <=> ]
其中pv
程序的参数-pterb
含义如下:
-p
:显示进度条,以可视化方式表示传输进度
-t
:显示估计的剩余时间
-e
:显示估计的已完成时间
-r
:显示传输速率
-b
:以字节为单位显示传输的数据量
而dd if=/dev/zero bs=1M count=100
和 /dev/null
这两个前者表示生成一个大小为 100MB(1MB x 100)的空文件,后者表示将接收的数据全部丢弃
2.3. 文件传输
显然,在带宽测试环节上,我们只要稍加修改,也可以用nc
来传输文件,操作如下
在 A 机器(192.168.1.100)上,执行接收app.tar.gz
的指令
nc -l -p 23456 > app.tar.gz
在 B 机器上,发送文件app.tar.gz
给 A 机器
pv -pterb app.tar.gz | nc 192.168.1.100 23456
3. 结束
netcat
是非常强大的网络工具,掌握它有助于在开发时排查多数网络问题
文章来源:
Author:chancel
link:http://www.chancel.me/markdown/netcat
下一篇:2023新房装修攻略
上一篇:如何健康科学减脂?