Linux 网络命令
静态信息
ss
ss -s # 摘要统计信息
# Total: 1144
# TCP: 154 (estab 50, closed 45, orphaned 0, timewait 39)
# Transport Total IP IPv6
# RAW 3 1 2
# UDP 37 29 8
# TCP 109 97 12
# INET 149 127 22
# FRAG 0 0 0
Using the ss command on Linux to view details on sockets
12 ss Command Examples to Monitor Network Connections
ip
ip-neighbour(8) — Linux manual page
主动探测
ping
traceroute
默认使用 UDP
mtr
结合了 traceroute
和 ping
两种功能, 使用 ICMP
dig
resolvectl
HTTP 交互
curl
# 不断重试下载
while true; do
curl -C - -o ./PubLayNet_PDF.tar.gz https://dax-cdn.cdn.appdomain.cloud/dax-publaynet/1.0.0/PubLayNet_PDF.tar.gz &&
break ||
sleep 5
done
wget
抓包分析
通过以下工具把网络包抓到 pcap, 再丢进 wireshark 进行分析
tcpdump
适合实时监测网络流量
tcpdump port 8080 # 抓取 8080 端口的网络包
tcpdump tcp # 抓取 tcp 网络包
tcpdump udp # 抓取 udp 网络包
tcpdump icmp # 抓取 icmp 网络包
tcpdump arp # 抓取 arp 网络包
tcpdump ip # 抓取 ip 网络包
tcpdump host 127.0.0.1 # 抓取 127.0.0.1 的网络包
tcpdump src 127.0.0.1 # 抓取源地址为 127.0.0.1 的网络包
tcpdump dst 127.0.0.1 # 抓取目标地址为 127.0.0.1 的网络包
tcpflow
重建整个 TCP 流并提供更好的数据扫描效果
ngrep
可以根据正则表达式进行过滤和捕获,是一种快速了解网络上发生情况的工具
过时工具
nslookup
已 deprecated, 建议使用 dig
host
已 deprecated, 建议使用 dig
host 123.125.66.120 # 查询 IP 的 DNS 信息, 反向查询
# 120.66.125.123.in-addr.arpa domain name pointer baiduspider-123-125-66-120.crawl.baidu.com.
netstat
已 deprecated, 建议使用 ss
netstat -nlp | grep :8080 # 查看占用 8080 端口的进程 PID
# -n:以数字形式显示网络地址和端口号,而不是主机名和服务名称。
# -l:只显示正在监听(listening)的网络连接。
# -p:显示进程 ID 或名称,与每个网络连接相关联。
netstat(8) - Linux man page Linux networking: 13 uses for netstat
ifconfig
已过时, 建议使用 ip
route
已过时, 建议使用 ip
arp
已过时, 建议使用 ip