linux网络问题排查必须要懂的命令

2024-08-25 12:20

本文主要是介绍linux网络问题排查必须要懂的命令,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

‘’

1. ping命令

ping 最简单的功能就是传送 ICMP 数据包

[root@node-1 ~]# ping 192.168.31.19
PING 192.168.31.19 (192.168.31.19) 56(84) bytes of data.
64 bytes from 192.168.31.19: icmp_seq=1 ttl=64 time=0.201 ms
64 bytes from 192.168.31.19: icmp_seq=2 ttl=64 time=0.200 ms
64 bytes from 192.168.31.19: icmp_seq=3 ttl=64 time=0.177 ms
64 bytes from 192.168.31.19: icmp_seq=4 ttl=64 time=0.209 ms
64 bytes from 192.168.31.19: icmp_seq=5 ttl=64 time=0.190 ms
^C
--- 192.168.31.19 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 3999ms
rtt min/avg/max/mdev = 0.177/0.195/0.209/0.016 ms
  • 64 bytes:表示这次传送的 ICMP 数据包大小为 64 bytes 这么大,这是默认值, 在某些特殊场合中,例如要搜索整个网络内最大的 MTU 时,可以使用 -s 2000 之类的数值来取代

  • icmp_seq=1:ICMP 所侦测进行的次数,第一次编号为 1

  • ttl=49:TTL 与 IP 数据包内的 TTL 是相同的,每经过一个带有 MAC 的节点时,例如 router、bridge 时, TTL 就会减少一,预设的 TTL 为 255 , 你可以通过 -t 150 之类的方法来重新设定预设 TTL 数值

  • time=0.209 ms:响应时间,单位有 ms(0.001秒)及 us(0.000001秒), 一般来说,越小的响应时间,表示两部主机之间的网络联机越良好.

2. traceroute

跟踪主机之间的网络路径情况

$ traceroute to 114.114.114.114 (114.114.114.114), 30 hops max, 60 byte packets1  XiaoQiang (192.168.31.1)  3.873 ms  3.717 ms  3.609 ms2  192.168.1.1 (192.168.1.1)  3.547 ms  3.515 ms  3.489 ms3  172.16.64.1 (172.16.64.1)  15.171 ms  15.145 ms  15.112 ms4  183.233.109.157 (183.233.109.157)  10.108 ms  10.079 ms  10.047 ms5  221.179.3.240 (221.179.3.240)  14.984 ms  21.735 ms  18.334 ms6  221.183.39.149 (221.183.39.149)  14.872 ms  10.394 ms  10.325 ms7  221.183.41.42 (221.183.41.42)  40.900 ms *  40.832 ms

3. ip命令

通过 ip add区查看主机的ip信息情况,检查网卡状态、IP地址,网络位、MAC地址、MTU是否正确

[root@node-1 ~]# ip add
1: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 00:0c:29:74:a2:d2 brd ff:ff:ff:ff:ff:ffinet 192.168.31.250/24 brd 192.168.31.255 scope global noprefixroute dynamic ens33valid_lft 92163sec preferred_lft 92163secinet6 fe80::20c:29ff:fe74:a2d2/64 scope link valid_lft forever preferred_lft forever

通过 ip route 去看主机路由情况,多网卡情况下,检查默认路由是否正确,静态路由是否正确

[root@node-1 ~]# ip route
default via 192.168.31.1 dev ens33 proto dhcp metric 100 
192.168.31.0/24 dev ens33 proto kernel scope link src 192.168.31.250 metric 100 

通过ip route get 查看地址192.168.31.19走的是哪条路由出去

[root@node-1 ~]# ip route get 192.168.31.19
192.168.31.19 dev ens33 src 192.168.31.250 cache 

4. telnet命令

telnet命令通常用来远程登录,我们可以利用它来检查目的服务器网络端口情况

[root@node-1 ~]# telnet 192.168.31.250 22
Trying 192.168.31.250...
Connected to 192.168.31.250.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.4

4. ss命令

通过ss命令查询一下自己的网络接口所监听的端口 (port) 来看看是否真的有启动

[root@node-1 ~]# ss -ntlpu 
Netid  State      Recv-Q Send-Q       Local Address:Port                      Peer Address:Port              
udp    UNCONN     0      0                        *:68                                   *:*                   users:(("dhclient",pid=913,fd=6))
tcp    LISTEN     0      128                      *:22                                   *:*                   users:(("sshd",pid=1094,fd=3))
tcp    LISTEN     0      100              127.0.0.1:25                                   *:*                   users:(("master",pid=1319,fd=13))
tcp    LISTEN     0      128                   [::]:22                                [::]:*                   users:(("sshd",pid=1094,fd=4))
tcp    LISTEN     0      100                  [::1]:25                                [::]:*                   users:(("master",pid=1319,fd=14))

stat:状态栏,主要的状态含有:

  • ESTABLISED:已建立联机的状态

  • SYN_SENT:发出主动联机 (SYN 标志) 的联机数据包

  • SYN_RECV:接收到一个要求联机的主动联机数据包

  • FIN_WAIT1:该插槽服务(socket)已中断,该联机正在断线当中

  • FIN_WAIT2:该联机已挂断,但正在等待对方主机响应断线确认的数据包

  • TIME_WAIT:该联机已挂断,但 socket 还在网络上等待结束

  • LISTEN:通常用在服务的监听 port

5. nslookup

nslookup用来作为 IP 与主机名对应的检查, 使用 /etc/resolv.conf 这个文件来作为 DNS 服务器的来源选择。

[root@node-1 ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.31.1
[root@node-1 ~]# 
[root@node-1 ~]# nslookup baidu.com
Server:		192.168.31.1
Address:	192.168.31.1#53Non-authoritative answer:
Name:	baidu.com
Address: 110.242.68.66
Name:	baidu.com
Address: 39.156.66.10

tcpdump

在云生产环境,虚拟机通常遇到网络不通,可通过tcpdump or ovs-tcpdump工具进行抓包判断ip在哪个节点处于网络不可达。

# 抓取ens33的包
$ tcpdump -i ens33 [arp or icmp] host [vm_ip or vm_gateway] -nne
# 抓取ovs br-int的包
$ ovs-tcpdum -i br-int [arp or icmp] host [vm_ip or vm_gateway] -nne
# 抓取ens33的[in or out]的包
$ tcpdump -i ens33 [arp or icmp] host [vm_ip or vm_gateway] -Q [in or out] -nne
# 抓取ens33 的vxlan包
$ tcpdump -i ens33 dst 172.18.70.72(目的pod物理业务网卡IP) and udp

这篇关于linux网络问题排查必须要懂的命令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1105542

相关文章

linux hostname设置全过程

《linuxhostname设置全过程》:本文主要介绍linuxhostname设置全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录查询hostname设置步骤其它相关点hostid/etc/hostsEDChina编程A工具license破解注意事项总结以RHE

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

Java进程异常故障定位及排查过程

《Java进程异常故障定位及排查过程》:本文主要介绍Java进程异常故障定位及排查过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、故障发现与初步判断1. 监控系统告警2. 日志初步分析二、核心排查工具与步骤1. 进程状态检查2. CPU 飙升问题3. 内存

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

Redis出现中文乱码的问题及解决

《Redis出现中文乱码的问题及解决》:本文主要介绍Redis出现中文乱码的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 问题的产生2China编程. 问题的解决redihttp://www.chinasem.cns数据进制问题的解决中文乱码问题解决总结

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

全面解析MySQL索引长度限制问题与解决方案

《全面解析MySQL索引长度限制问题与解决方案》MySQL对索引长度设限是为了保持高效的数据检索性能,这个限制不是MySQL的缺陷,而是数据库设计中的权衡结果,下面我们就来看看如何解决这一问题吧... 目录引言:为什么会有索引键长度问题?一、问题根源深度解析mysql索引长度限制原理实际场景示例二、五大解决

Springboot如何正确使用AOP问题

《Springboot如何正确使用AOP问题》:本文主要介绍Springboot如何正确使用AOP问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录​一、AOP概念二、切点表达式​execution表达式案例三、AOP通知四、springboot中使用AOP导出

在Linux终端中统计非二进制文件行数的实现方法

《在Linux终端中统计非二进制文件行数的实现方法》在Linux系统中,有时需要统计非二进制文件(如CSV、TXT文件)的行数,而不希望手动打开文件进行查看,例如,在处理大型日志文件、数据文件时,了解... 目录在linux终端中统计非二进制文件的行数技术背景实现步骤1. 使用wc命令2. 使用grep命令