语法
选项
表达式
例子
语法格式:
tcpdump [ -AdDefIKlLnNOpqRStuUvxX ] [ -B buffer_size ] [ -c count ]
[ -C file_size ] [ -G rotate_seconds ] [ -F file ]
[ -i interface ] [ -m module ] [ -M secret ]
[ -r file ] [ -s snaplen ] [ -T type ] [ -w file ]
[ -W filecount ]
[ -E spi@ipaddr algo:secret,... ]
[ -y datalinktype ] [ -z postrotate-command ] [ -Z user ]
[ expression ]
————————————————————————————————————————
"man tcpdump"
选项:
-A 以 ASCII 码显示
-w 保存输出到一个文件
-r 从保存的文件读取
-c 指定需要抓获匹配的数据包数目
-D 查看可以用来监听的设备
-C 指定保存为文件时,文件的最大值
单位是MB(100万字节=1000 * 1000;not 1024 * 1024)
-i 监听的端口
-K 不用检查校验和(ip tcp udp)
-n 不要对主机名进行dns解析
-nn 不要对主机名和端口进行解析
"man pcap-filter"
表达式: (3种类型)
TYPE
host net port portrange
'host hhh' 'net 128.33' 'port 80 and 443' 'portrange 6000-6600'
默认是‘host’
DIR
src dst src and dst src or dst
'src hhh' 'dst net 34.73' 'src or dst port 12012' 'dst port ftp-data'
PROTO
ether fddi tr wlan ip ip6 arp rarp tcp udp decnet
'ether src hhh' 'arp net 128.33' 'tcp port 443' 'udp portrang 6600-7000'
例子
eg: 某些情况下需要特权用户执行该命令
$ tcpdump -D
1.usbmon1 (USB bus number 1)
2.usbmon2 (USB bus number 2)
# tcpdump -D
1.wlan0
2.br0
3.nflog (Linux netfilter log (NFLOG) interface)
4.nfqueue (Linux netfilter queue (NFQUEUE) interface)
5.em1
6.usbmon1 (USB bus number 1)
7.usbmon2 (USB bus number 2)
8.any (Pseudo-device that captures on all interfaces)
9.lo
eg:
# tcpdump -i 1 -c 13000 -w tmp.cap
当不指定“-i”的选项时,默认以最小值监听。
eg:
# tcpdump -i eth2 -A dst host 10.0.0.241 > ftp.cap
获取登录 ftp 服务的账号和密码
# grep -i "user" ftp.cap
# grep -i "pass" ftp.cap