在日常使用linux系统时,我们经常会用到各种工具命令排查网络或服务故障,现在有各种搜索引擎和大模型,只要你有排查思路,虽然记不住那些命令其实没有太大的关系,但是作为一名专业的运维工程师,对于一些高频使用的命令还是应该烂熟如心的,试想一下线上出了一个紧急的故障,很多领导或者同事站在你的身边,紧张的盯着你的屏幕,看着你排查故障,并给你出谋划策让你看看这个,看看那个,假如在他们“指点江山,运筹帷幄”时,你却不知道该用什么命令,要临时百度一下或大模型一下,多少有点有损自己专业的形象,所以,今天我带大家重温一下,那些我们经常用到的linux命令# 查看服务是否有8080端口在监听,包括TCP和UDP(方式1)netstat -tunp|grep 8080# 查看服务是否有8080端口在监听,包括TCP和UDP(方式2)ss -tuln|grep 8080
#判断本地到目标主机网络是否通畅ping -c 4 192.168.1.1 # 发送4个数据包测试连通性# 方法1:使用nc,判断本机到目标服务UDP 53端口是否通nc -zuv 192.168.1.100 53# 方法2:使用nmap判断本机到目标服务UDP 53端口是否通nmap -sU -p 53 192.168.1.100# 方法1:使用nc,判断本机到目标服务TCP 80端口是否通nc -zv 192.168.1.100 80# 方法1:使用telnet,判断本机到目标服务TCP 80端口是否通telnet 192.168.1.100 80# 方法3:使用nmap,判断本机到目标服务UDP 53端口是否通nmap -sT -p 80 192.168.1.100
# 抓取本机TCP 80端口的数据包tcpdump -i eth0 tcp port 80# 抓取本机TCP 80端口的数据包并直接显示报文tcpdump -i eth0 tcp port 80 -v# 抓取本机UDP 53端口的数据包tcpdump -i eth0 udp port 53# 抓取特定IP的数据包tcpdump -i eth0 host 192.168.1.100# 将数据包保存到文件tcpdump -i eth0 -w capture.pcap# 从文件读取数据包tcpdump -r capture.pcap
ip addr show # 查看IP地址ip link show # 查看网络接口状态ip route show # 查看路由表ip a #查看所有网卡信息
上面这些命令,对于一般应用系统网络联通性相关的故障排查基本够用,需要说明的是,每个命令都有很多参数,必要的时候可以多使用命令--help查看命令说明,最后实在记不住也没关系,通过多年总结,排查问题的思路比记住命令更重要,就像判断一个人的文章写的是否好的关键不是看他写的字,而是看他的文章结构和中心思想。