一、网络连通性测试
-
ping
-
作用:检测目标主机是否可达,并测量网络延迟。
-
示例:
ping www.example.com
持续发送ICMP报文,按
Ctrl+C
停止。ping -c 4 www.example.com
发送4个ICMP报文后停止。
-
-
traceroute
-
作用:显示数据包到达目标主机所经过的路由路径。
-
示例:
traceroute www.example.com
使用默认端口进行追踪。
traceroute -I www.example.com
使用ICMP ECHO代替UDP报文。
-
-
mtr
-
作用:结合了ping和traceroute功能,实时显示路由路径和网络质量。
-
示例:
mtr www.example.com
启动交互式网络诊断工具。
mtr -r -c 10 www.example.com
运行10个循环后输出结果并退出。
-
二、网络配置与接口管理
-
ifconfig (逐渐被
ip
命令替代)-
作用:配置和显示网络接口信息。
-
示例
ifconfig eth0 up ifconfig eth0 192.168.1.10 netmask 255.255.255.0
启动接口并设置IP地址和子网掩码。
-
-
ip
-
作用:高级网络配置工具,替代了
ifconfig
、route
等命令。 -
示例
ip addr show ip link set eth0 up ip addr add 192.168.1.10/24 dev eth0 ip route add default via 192.168.1.1
查看地址信息,启用接口,添加IP地址和默认路由。
-
-
ethtool
-
作用:查询和控制网络接口的以太网设置。
-
示例
ethtool eth0 ethtool -s eth0 speed 1000 duplex full autoneg on
查看接口信息及设置接口速度和双工模式。
-
三、查看网络状态
-
netstat (逐渐被
ss
命令替代)-
作用:显示网络连接、路由表、接口统计等信息。
-
示例
netstat -tuln netstat -i
查看监听的TCP和UDP端口,及网络接口状态。
-
-
ss
-
作用:比netstat更快速和详细地显示套接字信息。
-
示例
ss -tuln ss -s
查看监听端口及套接字统计信息。
-
-
lsof
-
作用:列出打开的文件,包括网络连接。
-
示例
lsof -i lsof -i :80
查看所有网络连接及特定端口(如80端口)的连接。
-
-
nmap
-
作用:网络端口扫描与安全审计工具。
-
示例
nmap -sP 192.168.1.0/24 nmap -p 22,80,443 www.example.com
扫描整个子网的主机,或扫描指定端口。
-
四、域名解析
-
nslookup
-
作用:查询DNS记录,进行域名解析。
-
示例
nslookup www.example.com
查询域名对应的IP地址。
-
-
dig
-
作用:查询DNS信息,功能比nslookup更强大。
-
示例
dig www.example.com dig MX example.com
查询A记录或MX记录。
-
-
host
-
作用:简单的DNS查询工具。
-
示例
host www.example.com host -t MX example.com
查询A记录或MX记录。
-
五、远程管理
-
ssh
-
作用:通过安全的Shell连接远程主机。
-
示例
ssh user@192.168.1.100 ssh -p 2222 user@www.example.com
使用默认端口或指定端口连接远程主机。
-
-
scp
-
作用:在本地主机和远程主机间安全复制文件。
-
示例
scp localfile.txt user@192.168.1.100:/remote/directory/ scp -r localdir/ user@www.example.com:/remote/directory/
复制单个文件或整个目录。
-
-
rsync
-
作用:高效的文件同步和传输工具。
-
示例
rsync -avz /local/dir/ user@remote:/remote/dir/ rsync -e ssh /local/file user@remote:/remote/file
同步目录或复制文件。
-
六、数据传输与下载
-
curl
-
作用:与服务器进行数据交互,支持多种协议(如HTTP、FTP)。
-
示例
curl -O http://www.example.com/file.zip curl -I http://www.example.com
下载文件或获取HTTP头信息。
-
-
wget
-
作用:命令行下载工具,支持递归下载。
-
示例
wget http://www.example.com/file.zip wget -r http://www.example.com/directory/
下载单个文件或递归下载整个目录。
-
-
ftp
-
作用:文件传输协议客户端。
-
示例
ftp ftp.example.com
连接到FTP服务器,进行文件上传和下载。
-
七、网络监控与抓包
-
tcpdump
-
作用:网络数据包抓取与分析工具。
-
示例
tcpdump -i eth0 tcpdump -i eth0 port 80 tcpdump -w capture.pcap
抓取所有流量、特定端口流量或保存抓包数据。
-
-
wireshark
-
作用:图形化网络协议分析工具(需要图形界面)。
-
示例
wireshark
启动Wireshark并进行数据包分析。
-
-
iftop
-
作用:实时监控网络带宽使用情况。
-
示例
iftop -i eth0
监控指定接口的实时流量。
-
-
nethogs
-
作用:按进程统计网络带宽使用情况。
-
示例
nethogs
显示各个进程的网络使用情况。
-
八、路由与防火墙
-
route
-
作用:查看和修改路由表(逐渐被
ip route
替代)。 -
示例
route -n route add -net 10.0.0.0/24 gw 192.168.1.1
查看当前路由表和添加新的路由。
-
-
iptables
-
作用:配置Linux防火墙规则。
-
示例
iptables -L -n iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A INPUT -s 192.168.1.0/24 -j DROP
查看规则,允许特定端口,或拒绝来自特定网段的流量。
-
-
firewalld
-
作用:动态管理防火墙,提高管理灵活性(基于iptables)。
-
示例
firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --reload
永久开放80端口并重新加载防火墙配置。
-
-
ip route
-
作用:查看和管理IP路由表。
-
示例
ip route show ip route add default via 192.168.1.1 ip route del default
显示、添加或删除路由。
-
九、DNS缓存与解析
-
systemd-resolve
-
作用:管理和查询systemd的DNS解析器。
-
示例
systemd-resolve --status systemd-resolve www.example.com
查看DNS配置状态或解析域名。
-
-
dig
-
作用:详细查询DNS记录。
-
示例
dig www.example.com dig MX example.com dig @8.8.8.8 www.example.com
查询A记录、MX记录,或使用指定的DNS服务器。
-
十、其他实用命令
-
arp
-
作用:查看和管理ARP缓存表。
-
示例
arp -a arp -d 192.168.1.1 arp -s 192.168.1.10 00:11:22:33:44:55
查看所有ARP条目,删除或添加静态ARP条目。
-
-
hostname
-
作用:查看或设置主机名。
-
示例
hostname hostname new-hostname
查看当前主机名或设置新的主机名。
-
-
hostnamectl
-
作用:使用
systemd
管理主机名以及其他系统信息。 -
示例
hostnamectl status hostnamectl set-hostname new-hostname
查看状态或设置新主机名。
-
-
nmcli
-
作用:命令行工具,用于管理NetworkManager。
-
示例
nmcli device status nmcli connection show nmcli device wifi list nmcli connection add type ethernet ifname eth0 con-name my-eth0
查看设备状态,显示连接,扫描Wi-Fi,添加新的以太网连接。
-
十一、综合使用示例
假设你需要排查无法访问 www.example.com
的问题,可以按照以下步骤使用相关命令:
-
ping 检查主机是否可达:
ping -c 4 www.example.com
-
使用 traceroute 跟踪路由路径,找出中断点:
traceroute www.example.com
-
使用 dig 检查DNS解析是否正常:
dig www.example.com
-
使用 curl 测试HTTP响应:
curl -I http://www.example.com
-
使用 nmap 扫描目标端口是否开放:
nmap -p 80,443 www.example.com
-
查看本地防火墙规则,确保相关端口未被阻挡:
sudo iptables -L -n sudo firewall-cmd --list-all