一、paping测试某个端口连通及丢包率
paping支持的参数
参数 | 含义 |
-p --port N | 指定被测试服务的TCP 端口(必须) |
–nocolor | 屏蔽颜色输出 |
-t --timeout | 指定超时时长,单位毫秒 默认值 1000 |
-c --count N | 指定测试次数 |
当需要将结果输出到文件,建议使用 --nocolor参数,方便后期处理。
1、下载
wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/paping/paping_1.5.5_x86-64_linux.tar.gz
2、解压
tar zxvf paping_1.5.5_x86-64_linux.tar.gz
3、使用
./paping -p 16880 -c 30 111.204.157.42
二、Speedtest 进行网速测试
1、下载
wget https://raw.github.com/sivel/speedtest-cli/master/speedtest.py
chmod a+rx speedtest.py
mv speedtest.py /usr/local/bin/speedtest
chown root:root /usr/local/bin/speedtest
2、运行 speedtest 检测
speedtest
3、执行下面的命令,分享测试结果并生成结果图片的连接
speedtest --share
三、tcmdump
- 参数
-A 只使用 ASCII 打印报文的全部数据,不要和 -X 一起使用,获取 http 可以用 tcpdump-nSA port80
-b 在数据链路层上选择协议,包括 ip, arp, rarp, ipx 等
-c 指定要抓取包的数量
-D 列出操作系统所有可以用于抓包的接口
-i 指定监听的网卡, -i any 显示所有网卡
-n 表示不解析主机名,直接用 IP 显示,默认是用 hostname 显示
-nn 表示不解析主机名和端口,直接用端口号显示,默认显示是端口号对应的服务名
-p 关闭接口的混杂模式
-P 指定抓取的包是流入的包还是流出的,可以指定参数 in, out, inout 等,默认是 inout
-q 快速打印输出,即只输出少量的协议相关信息
-s len 设置要抓取数据包长度为 len,默认只会截取前 96bytes 的内容, -s0 的话,会截取全部内容。
-S 将 TCP 的序列号以绝对值形式输出,而不是相对值
-t 不要打印时间戳
-vv 输出详细信息(比如 tos、ttl、checksum等)
-X 同时用 hex 和 ascii 显示报文内容
-XX 同 -X,但同时显示以太网头部
1、抓取端口是80的包
tcpdump -nnvA -i any -s 0 port 80
2、抓取 9856或9857或9855 端口的 HTTP 有效数据包,排除 TCP 连接建立过程的数据包(SYN / FIN / ACK)
tcpdump -nnvA -i any -s 0 '(port 9856 or port 9857 or port 9855)' and '(((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'
3、读取tmp.pcap文件并过滤
tcpdump -nnvAr tmp.pcap | grep 0013
四、nc命令
nc是netcat的简写,是一个功能强大的网络工具,有着网络界的瑞士军刀美誉。可以检测udp和tcp端口是不是通的
-g<网关> 设置路由器跃程通信网关,最多可设置8个。
-G<指向器数目> 设置来源路由指向器,其数值为4的倍数。
-h 在线帮助。
-i<延迟秒数> 设置时间间隔,以便传送信息及扫描通信端口。
-l 使用监听模式,管控传入的资料。
-n 直接使用IP地址,而不通过域名服务器。
-o<输出文件> 指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存。
-p<通信端口> 设置本地主机使用的通信端口。
-r 乱数指定本地与远端主机的通信端口。
-s<来源位址> 设置本地主机送出数据包的IP地址。
-u 使用UDP传输协议。
-v 显示指令执行过程。
-w<超时秒数> 设置等待连线的时间。
-z 使用0输入/输出模式,只在扫描通信端口时使用。
1、检测tcp端口
nc -vz 192.168.1.154 89
2、检测udp端口
nc -uvz 192.168.1.146 80