Ping
正如它的名字所表示的那样,ping 是用于去检查从你的系统到你想去连接的系统之间端到端的连通性。当一个 ping 成功时,它使用的 ICMP[1] 的 echo 包将会返回到你的系统中。它是检查系统/网络连通性的一个良好开端。你可以在 IPv4 和 IPv6 地址上使用 ping 命令。(阅读我的文章 "如何在 Linux 系统上找到你的 IP 地址[2]" 去学习更多关于 IP 地址的知识)
语法:
◈ IPv4: ping
◈ IPv6: ping6
你也可以使用 ping 去解析出网站所对应的 IP 地址,如下图所示:
Traceroute
ping 是用于检查端到端的连通性,traceroute 实用工具将告诉你到达对端系统、网站,或服务器所经过的路径上所有路由器的 IP 地址。traceroute 在网络连接调试中经常用于在 ping 之后的第二步。
这是一个跟踪从你的系统到其它对端的全部网络路径的非常好的工具。在检查端到端的连通性时,这个实用工具将告诉你到达对端系统、网站、或服务器上所经历的路径上的全部路由器的 IP 地址。通常用于网络连通性调试的第二步。
语法:
◈ traceroute
Telnet
语法:
◈ telnet
Netstat
这个网络统计(netstat)实用工具是用于去分析解决网络连接问题和检查接口/端口统计数据、路由表、协议状态等等的。它是任何管理员都应该必须掌握的工具。
语法:
◈ netstat -l 显示所有处于监听状态的端口列表。
◈ netstat -a 显示所有端口;如果去指定仅显示 TCP 端口,使用 -at(指定信显示 UDP 端口,使用 -au)。
◈ netstat -r 显示路由表。
◈ netstat -s 显示每个协议的状态总结。
◈ netstat -i 显示每个接口传输/接收(TX/RX)包的统计数据。
Nmcli
nmcli 是一个管理网络连接、配置等工作的非常好的实用工具。它能够去管理网络管理程序和修改任何设备的网络配置详情。
语法:
◈ nmcli device 列出网络上的所有设备。
◈ nmcli device show
◈ nmcli connection 检查设备的连接情况。
◈ nmcli connection down
◈ nmcli connection up
◈ nmcli con add type vlan con-name
路由
检查和配置路由的命令很多。下面是其中一些比较有用的:
语法:
◈ ip route 显示各自接口上所有当前的路由配置。
◈ route add default gw
◈ route add -net
◈ route del -net
◈ ip neighbor 显示当前的邻接表和用于去添加、改变、或删除新的邻居。
◈ arp (它的全称是 “地址解析协议”)类似于 ip neighbor。arp 映射一个系统的 IP 地址到它相应的 MAC(介质访问控制)地址。
Tcpdump 和 Wireshark
Linux 提供了许多包捕获工具,比如 tcpdump、wireshark、tshark 等等。它们被用于去捕获传输/接收的网络流量中的数据包,因此它们对于系统管理员去诊断丢包或相关问题时非常有用。对于热衷于命令行操作的人来说,tcpdump 是一个非常好的工具,而对于喜欢 GUI 操作的用户来说,wireshark 是捕获和分析数据包的不二选择。tcpdump 是一个 Linux 内置的用于去捕获网络流量的实用工具。它能够用于去捕获/显示特定端口、协议等上的流量。
语法:
◈ tcpdump -i
◈ tcpdump -i
◈ tcpdump -i
◈ tcpdump -i
◈ tcpdump -i
Iptables
iptables 是一个包过滤防火墙工具,它能够允许或阻止某些流量。这个实用工具的应用范围非常广泛;下面是它的其中一些最常用的使用命令。
语法:
◈ iptables -L 列出所有已存在的 iptables 规则。
◈ iptables -F 删除所有已存在的规则。
下列命令允许流量从指定端口到指定接口:
◈ iptables -A INPUT -i
◈ iptables -A OUTPUT -o
下列命令允许环回loopback接口访问系统:
◈ iptables -A INPUT -i lo -j ACCEPT
◈ iptables -A OUTPUT -o lo -j ACCEPT
Nslookup
nslookup 工具是用于去获得一个网站或域名所映射的 IP 地址。它也能用于去获得你的 DNS 服务器的信息,比如,一个网站的所有 DNS 记录(具体看下面的示例)。与 nslookup 类似的一个工具是 dig(Domain Information Groper)实用工具。
语法:
◈ nslookup
◈ nslookup -type=any
网络/接口调试
下面是用于接口连通性或相关网络问题调试所需的命令和文件的汇总。
语法:
◈ ss 是一个转储套接字统计数据的实用工具。
◈ nmap
◈ ip addr/ifconfig -a 提供一个系统上所有接口的 IP 地址和相关信息。
◈ ssh -vvv user@
◈ ethtool -S
◈ ifup
◈ ifdown
◈ systemctl restart network 重启动系统上的一个网络服务。
◈ /etc/sysconfig/network-scripts/
◈ /etc/hosts 这个文件包含自定义的主机/域名到 IP 地址的映射。
◈ /etc/resolv.conf 指定系统上的 DNS 服务器的 IP 地址。
◈ /etc/ntp.conf 指定 NTP 服务器域名。