网络命令工具
端口与连接检测
| 命令 | 说明 |
|---|---|
| ss -tunlp | 查看当前监听的 TCP/UDP 端口及进程 |
| netstat -tunlp | 查看网络连接和监听端口(旧版命令) |
| lsof -i :8080 | 查看占用指定端口的进程 |
| lsof -i -P -n | 列出所有网络连接(不解析主机名和端口名) |
| nc -zv host port | 测试远程主机的端口是否开放 |
| nc -lvp 8080 | 在本地监听指定端口(临时测试) |
| nmap -sS host | SYN 扫描主机开放的端口(半开放扫描) |
| 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 端口同步 |
