Linux下查看网络状态的命令

Linux下查看网络状态的命令

1. ifconfig命令

ifconfig是Linux下用于配置和显示网络接口信息的命令。通过ifconfig命令,可以查看到当前系统中所有网络接口的状态,包括IP地址、子网掩码、MAC地址等。

使用示例:

ifconfig

重要属性的例子:

eth0: flags=4163MTU 1500

inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255

ether 00:1c:c0:ae:7b:6d txqueuelen 1000 (Ethernet)

RX packets 12345 bytes 67890 (6.7 MB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 54321 bytes 98765 (9.8 MB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

上述输出中的MTU表示网络接口的最大传输单元大小,inet表示IP地址,netmask表示子网掩码,ether表示MAC地址。

2. netstat命令

netstat命令用于显示网络连接、路由表和网络接口信息。使用netstat命令可以查看到当前系统中的网络连接状态、监听端口、网络协议等信息。

使用示例:

netstat -tunlp

重要属性的例子:

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1234/sshd

tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 5678/cupsd

tcp 0 0 192.168.1.100:12345 0.0.0.0:* LISTEN 9012/myserver

上述输出中的Local Address表示本地IP地址和端口号,Foreign Address表示对方IP地址和端口号,State表示连接状态。

3. ping命令

ping命令用于发送 ICMP Echo Request 消息到指定的目标主机,以测试网络的连通性。

使用示例:

ping 192.168.1.1

重要属性的例子:

64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.6 ms

64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.5 ms

64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=0.7 ms

上述输出中的ttl表示数据包在网络中可经过的最大跳数,time表示往返时间。

4. route命令

route命令用于显示和操作内核 IP 路由表。使用route命令可以查看系统的路由信息,包括目标网络、网关、接口、跃点数等。

使用示例:

route -n

重要属性的例子:

Destination Gateway Genmask Flags Metric Ref Use Iface

0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0

192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

上述输出中的Destination表示目标网络,Gateway表示网关,Genmask表示子网掩码。

5. ss命令

ss命令用于显示当前系统的网络套接字统计。使用ss命令可以查看到当前系统中所有的网络连接信息,包括本地地址、远程地址、状态等。

使用示例:

ss -a

重要属性的例子:

State Recv-Q Send-Q Local Address:Port Peer Address:Port

ESTAB 0 0 192.168.1.100:12345 192.168.1.200:54321

上述输出中的Local Address:Port表示本地的IP地址和端口号,Peer Address:Port表示对方的IP地址和端口号。

总结

本文介绍了在Linux下查看网络状态的命令。通过使用ifconfig、netstat、ping、route和ss命令,可以方便地了解当前系统的网络接口状态、网络连通性、路由信息以及套接字统计情况,从而更好地分析和排查网络问题。

操作系统标签