跳到主要内容

抓包工具

tcpdump

tcpdump 是一个很常用的网络包分析工具,可以用来显示通过网络传输到本系统的 TCP/IP 以及其他网络的数据包。tcpdump 使用 libpcap 库来抓取网络报,这个库在几乎在所有的 Linux/Unix 中都有。

tcpdump -i eth0   #捕获指定接口(网卡)的数据包 可通过 netstat -i查看网卡设备
tcpdump -i eth0 -c 3 #捕获指定个数的数据包(3个数据包)
tcpdump -A -i eth0 #用ASCII码格式输出捕获的数据包
tcpdump -D #显示可用的系统接口
tcpdump -XX -i eth0 #用十六进制和ASCII码格式显示捕获的数据包
tcpdump -w tempDump.pcap -i eth0 #把捕获的数据包写入到一个.pcap后缀的文件中
tcpdump -r tempDump.pcap #读取捕获数据包文件的内容
tcpdump -n -i eth0 # 单个 n 表示不解析域名,直接显示 IP
tcpdump -i eth0 tcp #捕获TCP类型的数据包
tcpdump -i eth0 port 22 #捕获指定端口(这里是22)的数据包
tcpdump -i eth0 src 源ip地址 #捕获请求源是 192.169.12.101 的数据包
tcpdump -i eth0 dst 目标ip地址 #捕获指定目的IP的数据包
tcpdump -i eth6 dst host 目标ip地址 and port 8800 -w data.pcap #抓取指定网卡,指定IP和端口的数据包 并写入到data.pcap文件中
tcpdump host 192.168.12.101 and 192.168.1.201 -w out & #后台抓取两主机之间的数据
tcpdump -nn #单个 n 表示不解析域名,直接显示 IP;两个 n 表示不解析域名和端口。这样不仅方便查看 IP 和端口号,而且在抓取大量数据时非常高效,因为域名解析会降低抓取速度

netstat

netstat 是一个监控 TCP/IP 网络的非常有用的工具,它可以显示路由表、网络连接以及每一个网络接口设备的状态信息。netstat 用于显示与 IP、TCP、UDP 和 ICMP 协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

netstat -at          #查看当前已经建立的tcp连接
netstat -au #列出所有 udp 端口
netstat -lt #只列出所有监听中的 tcp类型的 端口
netstat -lu #只列出所有监听中的 udp类型的端口
netstat -antp #查看所有已经建立的tcp连接,并且域名以数字形式显示
netstat -tupl #查看所有监听的tcp和udp及进程名信息(udp不能监听,但可以查看是否在占用)
netstat -s #显示所有端口的统计信息
netstat -st 或 -su #显示 TCP 或 UDP 端口的统计信息
netstat -i #查看网卡接口信息
netstat -tulnp |grep nginx #查看nginx服务的网络信息