介绍
Linux一款强大的网络抓包工具,通过它可以分析网络问题,可以捕获网络数据包的数据,方便我们得到我们想要的东西。
语法
# tcpdump -h
tcpdump version 4.1-PRE-CVS_2012_03_26
libpcap version 1.4.0
Usage: tcpdump [-aAdDefIKlLnNOpqRStuUvxX] [ -B size ] [ -c count ]
[ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ]
[ -i interface ] [ -M secret ] [ -r file ]
[ -s snaplen ] [ -T type ] [ -w file ] [ -W filecount ]
[ -y datalinktype ] [ -z command ] [ -Z user ]
[ expression ]
参数说明
这里只是列举常用的参数说明:
- -s 默认截取前 96 字节的内容,一般用
-s 0
来截取所有内容。 - -X 同时用 hex 和 ascii 显示报文的内容。
-XX 同 -X,但多显示了以太网头部。 - -n 表示不要解析域名,直接显示 ip。
- -nn 不要解析域名和端口
- -v, -vv, -vvv:显示更多的详细信息。一般我用
-vvv
显示越详细的信息 - -i 网卡名字 :获取指定的网卡的数据包;
-i eth0
监听eth0网卡,其中网卡名字可以通过/sbin/ifconfig -a
获得
-i any
监听所有的网卡 - -w<数据包文件>:把数据包数据写入指定的文件。
例子:
- 最最常用命令:获取eth0网卡的数据
# tcpdump -w 1.cap -i eth0 -nvvv -X -s0
- 过滤器使用-1:过滤:获取主机10.10.10.10的数据
# tcpdump -w 1.cap -i eth0 -nvvv -X -s0 host 10.10.10.10
- 过滤器使用-2:过滤:获取端口8080的数据
# tcpdump -w 1.cap -i eth0 -nvvv -X -s0 port 8080
- 过滤器使用-3:过滤:过滤源地址和目的地址
# tcpdump -w 1.cap -i eth0 -nvvv -X -s0 src 2.3.4.5
# tcpdump -w 1.cap -i eth0 -nvvv -X -s0 dst 3.4.5.6
- 过滤器使用-4:过滤:过滤源地址和目的地址
# tcpdump -w 1.cap -i eth0 -nvvv -X -s0 src 2.3.4.5
# tcpdump -w 1.cap -i eth0 -nvvv -X -s0 dst 3.4.5.6
- 过滤器使用-5:截获主机10.10.10.10 和主机10.10.10.11 或10.10.10.12的通信
# tcpdump -w 1.cap -i eth0 -nvvv -X -s0 host 10.10.10.10 and \ (10.10.10.11 or 10.10.10.12 \)
网友评论