目录零. 概要一. ping二. ss 查看网络连接状态三. traceroute四. DNS查询4.1 nslookup4.2 dig零. 概要⏹在Linux系统中有2套用于网络管理的工具集net-tools早期网络管理的主要工具集缺乏对 IPv6、网络命名空间等现代特性的支持可能存在与新内核不兼容的问题。在新版的Ubuntu系统中已经不再默认安装安装命令sudo apt install net-tools适合处理简单网络任务或用于维护旧系统。iproute2现代网络管理标准支持新特性如网络命名空间namespace、多路径路由等。工具整合单个工具如 ip涵盖多个功能如管理 IP 地址、路由、链路等。性能优越直接与内核交互效率高。跨协议支持支持 IPv4、IPv6、SCTP、DCCP 等。Ubuntu系统内置⏹两套工具集对比功能iproute2命令net-tools命令查看接口信息ip link showifconfig启用/禁用接口ip link set dev eth0 up/downifconfig eth0 up/down查看 IP 地址ip addr showifconfig添加 IP 地址ip addr add 192.168.1.1/24 dev eth0ifconfig eth0 192.168.1.1 netmask 255.255.255.0删除 IP 地址ip addr del 192.168.1.1/24 dev eth0不支持直接删除查看路由表ip route showroute -n添加/删除路由ip route add/del ...route add/del ...查看套接字信息ss -tulnnetstat -tuln查看 ARP 表ip neigh showarp -a⇓⇓⇓下图来源于网络工程师波哥⇓⇓⇓一. ping⏹测试网络连通性ping 会连续发送 ICMP 数据包直到被手动中断通常按 CtrlC。默认每秒发送一个数据包显示结果包括往返时间RTT、数据包丢失率等信息。pingwww.example.com选项功能示例-c 次数指定发送数据包的数量ping -c 5 www.example.com-i 间隔设置每次发送数据包的时间间隔默认 1 秒ping -i 0.5 www.example.com-w 时间设置最大等待时间秒ping -w 10 www.example.com-s 大小指定 ICMP 数据包的大小字节ping -s 128 www.example.com-t 值设置 IP 数据包的 TTLTime to Liveping -t 64 www.example.com-4强制使用 IPv4ping -4 www.example.com-6强制使用 IPv6ping -6 www.example.com注意事项一些服务器为了安全性可能禁用了 ICMP 协议不响应 ping 请求但这并不一定说明网络有问题。二. ss 查看网络连接状态ss是 Linux 系统上一个强大的命令行工具用于显示套接字统计信息。它的功能类似于传统的netstat但性能更高且支持更多功能。ss是iproute2工具包的一部分适用于查看网络连接状态、套接字信息和网络统计数据。-l仅显示监听的套接字。-t显示 TCP 连接。apluserubuntu24-01:~$ ss-ltState Recv-Q Send-Q Local Address:Port Peer Address:Port Process LISTEN04096127.0.0.53%lo:domain0.0.0.0:* LISTEN04096127.0.0.54:domain0.0.0.0:* LISTEN04096*:ssh *:* apluserubuntu24-01:~$⏹仅显示状态为已建立的 TCP 连接ss-tstate ESTABLISHED⏹配合 watch 命令实时监控watch-n1ss-tstate ESTABLISHED⏹显示所有源端口为 80 的 TCP 连接sportsource port表示源端口。ss-tsport:80⏹显示所有目标端口为 443 的 TCP 连接dportdestination port表示目标端口。ss-tdport:443三. traceroutetraceroute是一个网络诊断工具用于显示从本地主机到目标主机之间的路径及经过的所有中间节点路由器或设备。该命令会显示中间的路由器或网关并提供每一跳的延迟信息是排查网络问题和了解网络路径的重要工具。-I使用 ICMP Echo 请求类似 ping代替默认的 UDP 数据包。如果 traceroute 显示*可能是以下原因路由器禁用了 ICMP 响应。数据包被防火墙阻拦。TTL 已到达但没有返回响应。遇到防火墙阻拦时可以尝试-T使用 TCP 探测。rootubuntu24-01:~# traceroute -I www.baidu.comtracerouteto www.baidu.com(119.63.197.151),30hops max,60byte packets1_gateway(192.168.118.2)0.079ms0.046ms *2* * *3* * *4* * *5* * *6* * *7* * *8* * *9* * *10* * *11* * *12* * *13* * *14* * *15119.63.197.151(119.63.197.151)7.820ms7.796ms7.772ms四. DNS查询⏹nslookup和dig是linux系统中用于查询DNS的命令行工具。特性nslookupdig复杂度简单适合快速查询功能强大适合高级用户输出详细信息较少仅限查询结果输出完整的 DNS 消息结构记录类型支持支持但不如dig强大支持多种记录类型和自定义查询脚本支持较弱输出格式固定较强支持自定义输出可用性默认内置于 Windows 和 Unix通常需要额外安装如bind-utils4.1 nslookupnslookup 是一个命令行工具用于查询域名系统DNS记录。允许你检查域名到 IP 地址的解析、IP 地址到域名的反向解析以及其他 DNS 信息。apluserubuntu24-01:~$nslookupwww.google.com Server:127.0.0.53 Address:127.0.0.53#53Non-authoritative answer: Name: www.google.com Address:142.250.199.100 Name: www.google.com Address:2404:6800:4004:823::20044.2 dig⏹digDomain Information Groper是一个功能更强大的工具用于查询 DNS 信息。它能显示更多详细信息比如DNS 消息头、TTL、查询时间是网络管理员的首选工具。⏹dig命令示例apluserubuntu24-01:~$digwww.google.com;DiG9.18.28-0ubuntu0.24.04.1-Ubuntuwww.google.com;;global options: cmd;;Got answer:;;-HEADER-opcode: QUERY, status: NOERROR, id:44293;;flags: qr rd ra;QUERY:1, ANSWER:1, AUTHORITY:4, ADDITIONAL:9;;OPT PSEUDOSECTION:;EDNS: version:0, flags:;udp:65494;;QUESTION SECTION:;www.google.com. IN A;;ANSWER SECTION: www.google.com.5IN A172.217.31.132;;AUTHORITY SECTION: google.com.5IN NS ns1.google.com. google.com.5IN NS ns3.google.com. google.com.5IN NS ns2.google.com. google.com.5IN NS ns4.google.com.;;ADDITIONAL SECTION: ns1.google.com.5IN AAAA2001:4860:4802:32::a ns2.google.com.5IN AAAA2001:4860:4802:34::a ns3.google.com.5IN AAAA2001:4860:4802:36::a ns4.google.com.5IN AAAA2001:4860:4802:38::a ns1.google.com.5IN A216.239.32.10 ns2.google.com.5IN A216.239.34.10 ns3.google.com.5IN A216.239.36.10 ns4.google.com.5IN A216.239.38.10;;Query time:8msec;;SERVER:127.0.0.53#53(127.0.0.53) (UDP);;WHEN: Sun Dec2211:40:12 UTC2024;;MSG SIZE rcvd:307⏹只想获取查询结果而忽略其他信息apluserubuntu24-01:~$digshort www.google.com142.251.42.132