tcpdump 学习
参考:
安装yun install -y tcpdump
监视指定网络接口的数据包
tcpdump -i eth1
如果不指定网卡,默认tcpdump只会监视第一个网络接口,一般是eth0,下面的例子都没有指定网络接口。
我本地在一个docker环境中跑,由于本地网络的问题,所以换成了docker
12:37:56.185732 IP local > local: Flags [S], seq 2181335277, win 43690, options [mss 65495,sackOK,TS val 7257280 ecr 0,nop,wscale 7], length 0 12:37:56.185799 IP local > local: Flags [S.], seq 1890086146, ack 2181335278, win 43690, options [mss 65495,sackOK,TS val 7257280 ecr 7257280,nop,wscale 7], length 0 12:37:56.185845 IP local > local: Flags [.], ack 1, win 342, options [nop,nop,TS val 7257280 ecr 7257280], length 0 12:37:56.185985 IP local > local: Flags [P.], seq 1:83, ack 1, win 342, options [nop,nop,TS val 7257280 ecr 7257280], length 82: HTTP: GET /echo HTTP 12:37:56.186000 IP local > local: Flags [.], ack 83, win 342, options [nop,nop,TS val 7257280 ecr 7257280], length 0 12:37:56.186859 IP local > local: Flags [P.], seq 1:175, ack 83, win 342, options [nop,nop,TS val 7257280 ecr 7257280], length 174: HTTP: HTTP 200 OK 12:37:56.186915 IP local > local: Flags [.], ack 175, win 350, options [nop,nop,TS val 7257280 ecr 7257280], length 0 12:37:56.187187 IP local > local: Flags [F.], seq 83, ack 175, win 350, options [nop,nop,TS val 7257280 ecr 7257280], length 0 12:37:56.187435 IP local > local: Flags [F.], seq 175, ack 84, win 342, options [nop,nop,TS val 7257280 ecr 7257280], length 0 12:37:56.187514 IP local > local: Flags [.], ack 176, win 350, options [nop,nop,TS val 7257280 ecr 7257280], length 0
命令介绍:
- -i : 选择要捕获的接口,通常是以太网卡或无线网卡,也可以是vlan 或其他特殊接口。如果该系统上只有一个网络接口,则无需指定。
- -nn : 单个 n 表示不解析域名,直接显示 IP;两个 n 表示不解析域名和端口。这样不仅方便查看 IP 和端口号,而且在抓取大量数据时非常高效,因为域名解析会降低抓取速度。
- -s0 : tcpdump 默认只会截取前96 字节的内容,要想截取所有的报文内容,可以使用-s number,number 就是你要截取的报文字节数,如果是 0 的话,表示截取报文的全部内容。
- -v : 使用-v,-vv 和-vvv 来显示更多的详细信息,通常会显示更多与特定协议相关的信息。
- -p : 监听端口好
- port 80 : 这是一个常见的端口过滤器,表示仅抓取80 端口上的流量,通常是 HTTP。
- -e : 显示数据链路层信息
- -p : 不让网络接口进入混杂模式。默认情况下使用 tcpdump 抓包时,会让网络接口进入混杂模式。一般计算机网卡都工作在非混杂模式下,此时网卡只接受来自网络端口的目的地址指向自己的数据。当网卡工作在混杂模式下时,网卡将来自接口的所有数据都捕获并交给相应的驱动程序。如果设备接入的交换机开启了混杂模式,使用-p选项可以有效地过滤噪声。