Linux网络管理与测试完全指南


Linux网络管理与测试完全指南

基础介绍

网络管理(Network Management)是指对网络资源进行配置、监控、维护和优化的过程,以确保网络的稳定、高效运行。在Linux系统中,网络管理涉及到配置网络接口、管理路由、设置防火墙规则、监控网络流量等方面。

工作原理简图:

1
2
3
4
+----------+    +----------+    +----------+
| 主机 A |----| 路由器 |----| 主机 B |
+----------+ +----------+ +----------+
网络接口 路由表 网络接口

在Linux系统中,网络管理主要通过命令行工具和配置文件来实现。网络配置保存在/etc/network/目录下,网络服务通过systemd进行管理。

常用命令

命令 参数 说明 使用频率
ifconfig eth0, wlan0, up, down 显示或配置网络接口的信息(Interface Configuration)。 ⚠️ 已被ip命令替代,不建议使用 ★★☆☆
ip addr, link, route, neigh 显示或配置网络接口、路由和邻居信息。是ifconfig的替代品,功能更强大。 ★★★★
ping -c, -i, -t 测试网络连接是否畅通。使用ICMP协议发送数据包并等待回复。 ★★★★
netstat -tulnp 显示网络连接、路由表、接口统计等信息(Network Statistics)。 ⚠️ 已被ss命令替代,不建议使用 ★☆☆☆
ss -tulnp 显示套接字(Socket Statistics)信息。是netstat的替代品,速度更快。 ★★★☆
traceroute 追踪数据包在网络中的路径。 ★★☆☆
tcpdump -i, -n, -s, port, host 抓取网络数据包(TCP Dump),用于分析网络流量。 ★★★☆
route -n, add, del, default gw 显示或配置路由表。 ★★☆☆
ethtool eth0, -s, -k 显示或修改网络接口的硬件参数(Ethernet Tool)。 ★☆☆☆
iwconfig wlan0, essid, key 配置无线网络接口的信息(Wireless Interface Configuration)。 ⚠️ 已被iw命令替代,不建议使用 ★☆☆☆
iw dev wlan0 link, dev wlan0 scan 显示或配置无线网络接口信息。 ★☆☆☆

示例代码

场景:查看网络接口信息,并测试与外部网络的连通性

步骤 1:查看所有网络接口的信息

使用ip addr命令查看所有网络接口的配置信息。

1
ip addr

预期输出示例:

1
2
3
4
5
6
7
8
9
10
11
12
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:11:22:33:44:55 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::211:22ff:fe33:4455/64 scope link
valid_lft forever preferred_lft forever

输出解释:

  • lo:本地回环接口,用于本机通信。
  • eth0:以太网接口,通常用于有线网络连接。
  • 192.168.1.100/24eth0接口的IP地址和子网掩码。

步骤 2:测试与外部网络的连通性

使用ping命令测试与www.google.com的连通性。

1
ping -c 4 www.google.com

预期输出示例:

1
2
3
4
5
6
7
8
9
PING www.google.com (142.250.184.174) 56(84) bytes of data.
64 bytes from fra16s10-in-f14.1e100.net (142.250.184.174): icmp_seq=1 ttl=117 time=7.21 ms
64 bytes from fra16s10-in-f14.1e100.net (142.250.184.174): icmp_seq=2 ttl=117 time=7.30 ms
64 bytes from fra16s10-in-f14.1e100.net (142.250.184.174): icmp_seq=3 ttl=117 time=7.29 ms
64 bytes from fra16s10-in-f14.1e100.net (142.250.184.174): icmp_seq=4 ttl=117 time=7.30 ms

--- www.google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 7.212/7.275/7.303/0.039 ms

输出解释:

  • ping -c 4:发送4个ICMP Echo Request数据包。
  • time=7.21 ms:每个数据包的往返时间。
  • 0% packet loss:没有丢包,表示网络连接正常。

步骤 3:使用tcpdump抓包分析

使用tcpdump抓取eth0网卡上的ICMP包。

1
sudo tcpdump -i eth0 icmp

执行以上命令后,再执行ping www.google.comtcpdump会显示抓取到的ICMP数据包信息。

Metadata

  • Tags: Linux, Network, Management, Testing, ifconfig, ip, ping, tcpdump
  • Categories: 系统管理, 网络配置

文章作者: 达朵
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 达朵 !
  目录