百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

常用网络诊断工具(什么网络诊断)

nanshan 2025-07-06 15:20 3 浏览 0 评论

日常开发或者运维过程中,经常会涉及一些需要进行网络诊断的场景,这里介绍一些常用的诊断工具。

ping

ping是最常用的网络诊断工具,除了判断联通和延时,还可以判断传输的MTU(MTU是网络可以发送的最大报文大小)是否正确。

[root@i-xxxxxxx ~]# ping 114.114.114.114
PING 114.114.114.114 (114.114.114.114) 56(84) bytes of data.
64 bytes from 114.114.114.114: icmp_seq=1 ttl=86 time=9.11 ms
64 bytes from 114.114.114.114: icmp_seq=2 ttl=78 time=8.90 ms
64 bytes from 114.114.114.114: icmp_seq=3 ttl=85 time=9.31 ms
64 bytes from 114.114.114.114: icmp_seq=4 ttl=79 time=9.01 ms
64 bytes from 114.114.114.114: icmp_seq=5 ttl=82 time=9.25 ms
^C
--- 114.114.114.114 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 8.908/9.122/9.313/0.171 ms

telnet

telnet就是查看某个端口是否可访问。

# 查看zookeeper的2181端口是否可以访问,如下为可访问
[root@i-xxxxxxx ~]# telnet 10.73.14.141 2181
Trying 10.73.14.141...
Connected to 10.73.14.141.
Escape character is '^]'.

tcpdump

这是最常用的抓包工具,用于查看网络流量信息。

基本使用

# -i <网卡名> -n 输出ip地址,不反向解析成域名  -e 输出mac地址 -l 实时输出到stdout, 默认是缓存一批才输出 -c 抓包数量,避免流量大时无法退出tcpdump
# tcpdump -i bond0 -nel -c 2
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on bond0, link-type EN10MB (Ethernet), capture size 262144 bytes
# 这条是vxlan报文,第一行是外层的udp头
11:42:04.254403 00:f6:63:f9:06:c1 > 68:91:d0:61:d2:c1, ethertype IPv4 (0x0800), length 116: 172.31.22.11.57384 > 172.31.20.16.4789: VXLAN, flags [I] (0x08), vni 14148281
# 第一个报文的内层的报文
52:54:22:a3:b9:e7 > b2:f4:d7:18:ff:0a, ethertype IPv4 (0x0800), length 66: 10.73.15.51.8001 > 172.31.20.23.51774: Flags [F.], seq 2711081592, ack 4166116694, win 235, options [nop,nop,TS val 1021239437 ecr 985499688], length 0
# 第二个报文,是tcp的流量
11:42:04.254425 68:91:d0:61:d2:c1 > 00:f6:63:f9:06:c1, ethertype IPv4 (0x0800), length 254: 172.31.20.16.22 > 172.31.105.145.60303: Flags [P.], seq 2910664665:2910664853, ack 2435946367, win 39, options [nop,nop,TS val 2780377579 ecr 1245621143], length 188
2 packets captured
11 packets received by filter
0 packets dropped by kernel

netstat

当需要了解当前系统开放了哪些端口,并且要查看开放这些端口的具体进程和用户,可以通过netstat命令进行简单查询

[root@i-xxxxxxx ~]# netstat -ntlp   //查看当前所有tcp端口·
[root@i-xxxxxxx ~]# netstat -ntulp |grep 80   //查看所有80端口使用情况·
[root@i-xxxxxxx ~]# netstat -an | grep 3306   //查看所有3306端口使用情况·
[root@i-xxxxxxx ~]# netstat -nlp |grep LISTEN   //查看当前所有监听端口·

netstat  -lntup  
说明: l:listening   n:num   t:tcp  u:udp  p:process
netstat -ltunp
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:873             0.0.0.0:*               LISTEN      840/rsync           
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      5022/nginx: master  
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1159/sshd           
--------------

lsof

可以使用lsof检查端口占用

#检查端口占用情况,可以使用下面几个命令
lsof -i:9090
ss -naltp |grep 9090
netstat -anltu |grep 9090

nc

判断tcp端口是否监听

# 判断10.73.14.141的22端口是否监听
[root@i-xxxxxxx ~]# nc -zv 10.73.14.141 22
Connection to 10.73.14.141 22 port [tcp/ssh] succeeded!
# 判断10.73.14.141的23端口是否监听
[root@i-xxxxxxx ~]# nc -zv 10.73.14.141 23
nc: connect to 10.73.14.141 port 23 (tcp) failed: Connection refused

还可以测试带宽:

# nc命令有个-l参数可以用来监听指定端口,因此我们要完成上面的功能,就只需要简单的从/dev/zero或者其他虚拟设备读入数据:
# server端:
nc -l -p 3333 < /dev/zero
 
# client 端:
# 然后另外一台电脑使用nc来连接到这个端口
# 收到的数据都转到 null
nc 192.168.0.11 3333 > /dev/null
 
#
然后再开一个终端,使用iftop -i bond0看带宽:
                         204Mb                      407Mb                     611Mb                      814Mb                0.99Gb
└─────────────────────────┴──────────────────────────┴─────────────────────────┴──────────────────────────┴──────────────────────────
tr02n06.ccd.pitrix.com                       => tr02n11.ccd.pitrix.com                        4.98Gb  4.91Gb  3.43Gb
                                                     <=                  

防火墙

linux6版本的增加防火墙
iptables -A INPUT -p tcp --dport 5534 -j ACCEPT 
vi /etc/sysconfig/iptables
开启: chkconfig iptables on    关闭: chkconfig iptables off
开启: service iptables start   关闭: service iptables stop

linux7版本的增加防火墙
firewall-cmd --zone=public --add-port=5672/tcp --permanent   # 开放5672端口
firewall-cmd --zone=public --remove-port=5672/tcp --permanent  #关闭5672端口
firewall-cmd --zone=public --list-ports  查看端口
firewall-cmd --reload 
systemctl stop firewalld.service           
systemctl disable firewalld.service  

如有不对,欢迎指正,相互学习,共同进步。

相关推荐

爆肝 30 天!从 JVM 调优到百万级 QPS,我的 Java 性能飞升全记录(2)

前言:从崩溃边缘到百万级QPS的逆袭凌晨3点的办公室,监控大屏突然飙红,QPS从5万断崖式下跌到800,CPU满载报警,GC时间突破3秒大关——这是我们的电商大促系统在压测中遭...

如何彻底清除服务器上的恶意软件与后门 ?

当服务器遭受入侵后,清除恶意软件和后门是恢复系统安全性的关键步骤。如果清除不彻底,攻击者可能通过隐藏后门程序再次发动攻击。以下是一个系统化的操作指南,帮助您彻底清除服务器上的恶意软件和后门,同时加强服...

Docker 部署高性能抖音 TikTok数据爬取工具,支持无水印视频下载

一、项目简介此项目基于PyWebIO、FastAPI和HTTPX,是一个高效的异步数据爬取工具,专注于抖音/TikTok平台的数据提取。通过Web端界面,用户可以在线批量解析并下载无水印的视频或...

我如何将Unix时间转换为可读的值?

高频处理时间问题在处理时间值时,程序中的一种常见方法是将其转换为线性刻度表示。无法将"2005年1月17日下午5:37"这样的日期存储为变量,并期望能够进行任何操作。因此,在合格的程序...

用shell进行ASCII字符转换与URL编码技巧

如何将ASCII字符转换为十进制(或十六进制)值并进行相反的转换?如何进行URL编码和URL解码?如果你在编写脚本时已知八进制或十六进制值,你可以使用printf命令实现:#POSIXprintf...

Linux远程shell登录出现bash-4.2#问题

出现以上问题的原因是/root目录下丢失了.bashrc和.bash_profile文件/etc/skel/.bash_profile和/etc/skel/.bashrc的文件复制到/root下即可命...

三部门:推进算力互联互通 推动国家枢纽节点和需求地之间400G/800G 高带宽全光连接

每经AI快讯,1月6日,国家发展改革委等三部门印发《国家数据基础设施建设指引》。其中提出,加强新兴网络技术创新应用,优化网络计费方式,降低东西部数据传输成本,促进东部中高时延业务向西部转移。推进算力互...

三部门:推动国家枢纽节点和需求地之间400G/800G高带宽全光连接

国家发展改革委、国家数据局、工业和信息化部等印发《国家数据基础设施建设指引》的通知。其中提到,加强新兴网络技术创新应用,优化网络计费方式,降低东西部数据传输成本,促进东部中高时延业务向西部转移。推进算...

高带宽低延迟如何开启?实际效果如何?

在上次的《实测AMD平台玩游戏用什么频率的内存更好?》中通过测试已经得知,AMDCPU的最佳频率是6000,具体该如何选择,如何设置能提升游戏帧数,往下看小白新手也能看明白。内存选择6000频率内存...

排列五第22237期规律预测走势图分享

二定头尾:03458,X,X,035890XX00XX30XX50XX80XX93XX03XX33XX53XX83XX94XX04XX34XX54XX84XX95...

格式化字符串漏洞及利用_萌新食用

前言格式化字符串漏洞具有任意地址读,任意地址写。printfprintf--一个参数:情况1当参数只有1个字符串的话(含有%?),//?即i,x,s等等<br>第一个...

Linux配置ip地址的两种方法(linux配置ip详细步骤)

Linux配置ip地址的两种方法,实验环境为centos7.6方法1:nmcli工具配置(centos7以下版本不支持该方法)第一步,通过nmcliconnection查看网卡名称[root@lo...

排列五9月30日第22263期最新规律走势预测讲解

二定头尾:034589,X,X,0125670XX00XX10XX20XX50XX60XX73XX03XX13XX23XX53XX63XX74XX04XX14XX2...

GDB调试的高级技巧(gdb调试工具的使用)

GDB是我们平时调试c/c++程序的利器,查起复杂的bug问题,比打印大法要好得多,但是也不得不说,gdb在默认情况下用起来并不是很好用,最近学习到几个高级点的技巧,分享下:一美化打印先上个例子...

给NAS测评打个样:QNAP TS-251D双盘位NAS全面测评体验

这两年随着大家网络条件越来越好,视频、电影资源越来越丰富。以及智能手机的普及拍照也更加方便,大家对于存储的需求也越来越高。除了传统的优盘、移动硬盘之外现在私有云方面也有了更多的选择。那么日常私有云选购...

取消回复欢迎 发表评论: