heidsoft / cloud-bigdata-book

write book
56 stars 33 forks source link

tcpdump #25

Open heidsoft opened 7 years ago

heidsoft commented 7 years ago

tcpdump 选项

-i any 监听所有的网卡接口,用来查看是否有网络流量
-i eth0 只监听eth0网卡接口
-D 显示可用的接口列表
-n 不要解析主机名
-nn 不要解析主机名或者端口名
-q 显示更少的输出(更加quiet)
-t 输出可读的时间戳
-tttt 输出最大程度可读的时间戳
-X 以hex和ASCII两种形式显示包的内容
-XX 与**-X**类似,增加以太网header的显示
-v, -vv, -vvv 显示更加多的包信息
-c 只读取x个包,然后停止
-s 指定每一个包捕获的长度,单位是byte,使用-s0可以捕获整个包的内容
-S 输出绝对的序列号
-e 获取以太网header
-E 使用提供的秘钥解密IPSEC流量

抓取HTTP请求

抓取POST

tcpdump -i eth0 -s 0 -A 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504F5354

抓取GET

tcpdump -i eth0 -s 0 -A 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420

tcpdump 表达式

在tcpdump中,可以使用表达式过滤指定类型的流量。有三种主要的表达式类型:type,dir,proto。

类型(type)选项包含:host,net,port
方向(dir)选项包含:src,dst
协议(proto)选项包含:tcp,udp,icmp,ah等

捕获所有流量

查看所有网卡接口上发生了什么
tcpdump -i any

指定网卡接口

查看指定网卡上发生了什么

tcpdump -i en0

原生输出

查看更多的信息,不解析主机名和端口号,显示绝对序列号,可读的时间戳
-tttt 输出最大程度可读的时间戳
-n 不要解析主机名
-v, -vv, -vvv 显示更加多的包信息
-S 输出绝对的序列号

tcpdump -ttttnnvvS

抓取icmp包,并显示包详情

➜  research sudo tcpdump -nnvXSs 0 -c1 icmp
tcpdump: data link type PKTAP
tcpdump: listening on pktap, link-type PKTAP (Apple DLT_PKTAP), capture size 262144 bytes
23:26:21.499957 IP (tos 0x0, ttl 64, id 6677, offset 0, flags [none], proto ICMP (1), length 84)
    192.168.5.6 > 115.239.210.27: ICMP echo request, id 17413, seq 0, length 64
    0x0000:  0810 7899 e321 1865 90de c03f 0800 4500  ..x..!.e...?..E.
    0x0010:  0054 1a15 0000 4001 54db c0a8 0506 73ef  .T....@.T.....s.
    0x0020:  d21b 0800 89fa 4405 0000 5b1d 431d 0007  ......D...[.C...
    0x0030:  a0bb 0809 0a0b 0c0d 0e0f 1011 1213 1415  ................
    0x0040:  1617 1819 1a1b 1c1d 1e1f 2021 2223 2425  ...........!"#$%
    0x0050:  2627 2829 2a2b 2c2d 2e2f 3031 3233 3435  &'()*+,-./012345
    0x0060:  3637                                     67
1 packet captured
1210 packets received by filter
0 packets dropped by kernel
➜  research

  ~ ping www.baidu.com
PING www.a.shifen.com (115.239.210.27): 56 data bytes
64 bytes from 115.239.210.27: icmp_seq=0 ttl=54 time=22.223 ms
64 bytes from 115.239.210.27: icmp_seq=1 ttl=54 time=441.219 ms

使用源和目的地址过滤

sudo tcpdump dst 115.239.211.112
sudo tcpdump src 192.168.5.6

tcpdump -D

sudo tcpdump -i en0 -vvv -s 1500 -X 'port 80'

根据主机IP抓包

sudo  tcpdump host 192.168.5.6

根据以太网地址抓包

sudo tcpdump ether host 18:65:90:de:c0:3f
heidsoft commented 6 years ago

https://github.com/mylxsw/growing-up/blob/master/doc/tcpdump%E7%AE%80%E6%98%8E%E6%95%99%E7%A8%8B.md#%E4%BD%BF%E7%94%A8%E6%BA%90%E5%92%8C%E7%9B%AE%E7%9A%84%E5%9C%B0%E5%9D%80%E8%BF%87%E6%BB%A4