网络命令工具

端口与连接检测

命令说明
ss -tunlp查看当前监听的 TCP/UDP 端口及进程
netstat -tunlp查看网络连接和监听端口(旧版命令)
lsof -i :8080查看占用指定端口的进程
lsof -i -P -n列出所有网络连接(不解析主机名和端口名)
nc -zv host port测试远程主机的端口是否开放
nc -lvp 8080在本地监听指定端口(临时测试)
nmap -sS hostSYN 扫描主机开放的端口(半开放扫描)
nmap -sV host探测开放端口上运行的服务版本
nmap -O host探测远程主机的操作系统类型
nmap -p 1-65535 host扫描全端口范围
nmap -T4 -A host快速扫描并启用版本检测、脚本扫描和系统探测

DNS 查询

命令说明
dig domain查询域名的 DNS 记录(默认 A 记录)
dig domain MX查询域名的 MX 邮件记录
dig domain TXT查询域名的 TXT 记录(SPF、DKIM 等)
dig domain NS查询域名的 NS 名称服务器记录
dig @8.8.8.8 domain使用指定 DNS 服务器查询
dig +short domain仅显示查询结果(简洁输出)
dig +trace domain追踪完整的 DNS 解析链
dig -x IP反向 DNS 查询(IP 到域名)
nslookup domain交互式 DNS 查询工具(较老)
host domain简单 DNS 查询命令

网络连通性与路由

命令说明
ping host测试与主机的网络连通性
ping -c 4 host发送指定数量的 ICMP 包后停止
traceroute host追踪到主机的路由跳数
mtr host结合 ping 和 traceroute 的实时网络诊断
arp -a查看本地 ARP 缓存表
ip addr查看网络接口配置和 IP 地址
ip link查看网络接口状态(UP/DOWN)
ip route查看路由表和默认网关
ip route add 10.0.0.0/8 via 192.168.1.1添加静态路由
ifconfig查看网络接口信息(旧版,推荐使用 ip)

网络抓包

命令说明
tcpdump -i eth0抓取 eth0 网卡的所有数据包
tcpdump -i eth0 port 80仅抓取 eth0 上端口 80 的流量
tcpdump -i eth0 host 10.0.0.1仅抓取与指定主机相关的数据包
tcpdump -i eth0 -w cap.pcap将抓包结果保存到文件(可用 Wireshark 打开)
tcpdump -i eth0 -nn不解析主机名和端口名(显示 IP 和端口数字)
tcpdump -i eth0 -A以 ASCII 格式显示数据包内容
tcpdump -i eth0 -X -s 0以十六进制和 ASCII 显示完整数据包
tcpdump -i eth0 -c 100抓取 100 个数据包后停止
tcpdump "tcp[tcpflags] & tcp-syn != 0"仅抓取 TCP SYN 包(新连接请求)

HTTP 与文件传输

命令说明
curl https://url获取 URL 内容
curl -I https://url仅查看 HTTP 响应头
curl -o file URL下载文件并保存到指定路径
curl -O URL下载文件并使用远程文件名保存
curl -X POST -d "data" URL发送 POST 请求并携带数据
curl -H "Auth: token" URL自定义请求头发送请求
curl -v https://url显示详细的请求和响应过程
wget URL下载文件到当前目录
wget -r -l 2 URL递归下载网站内容(深度 2 层)
wget -c URL断点续传下载
rsync -avz src/ user@host:/dest/同步目录到远程(增量传输)
rsync -avz --delete src/ dest/同步目录并删除目标中多余的文件
rsync -avz -e "ssh -p 2222" src/ host:/dest/通过指定 SSH 端口同步