一、安装tcpdump
- debian(如ubuntu)下安装
sudo apt-get install tcpdump
- centOS下安装
sudo yum install tcpdump
二、tcpdump的使用
(1)使用方式:
tcpdump [options] [expression]
- options表示使用的选项
- expression表示使用的表达式
具体命令使用如:
tcpdump [ -AdDefIJKlLnNOpqRStuUvxX ] [ -B buffer_size ] [ -c count ]
[ -C file_size ] [ -G rotate_seconds ] [ -F file ]
[ -i interface ] [ -j tstamp_type ] [ -m module ] [ -M secret ]
[ -Q|-P in|out|inout ]
[ -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可以查看其用法
一般tcpdump需要sudo权限
1、常用选项说明
- (1)-c
如:
tcpdump -c 3 // 表示只接收3个数据包就退出
- (2)-D
显示所有网络接口
tcpdump -D
- (3)-e 把连接层打印出来
tcpdump -e
- (4)-i 指定要监听的网络接口(网卡接口,如eth0)
例如:
tcpdump -i eth0
- (5)-n 不要将ip换成机器名
tcpdump -n
- (6)-w 文件名
将成功输出到文件(而不是打印到屏幕)
如:
sudo tcpdump -w network.tcpdump
注:这个文件不能通过vi等文本编辑工具查看,需要通过tcpdump -r来查看
- (7)-r 文件名
从文件中读取tcpdump的数据包
如:
sudo tcpdump -r network.tcpdump
2、表达式(expression)介绍
(1)关于类型的关键词
tcpdump host 192.168.0.100 //只查看192.168.0.100发出和收到的数据包
tcpdump host 192.168.0.100 and 192.168.0.200 //只查看192.168.0.100和192.168.0.200两台主机发出和收到的数据包
tcpdump port 80 //只查看80商品的数据包
(2)关于传输方向的关键词
sudo tcpdump dst 192.168.0.100 //查看目的地址为192.168.0.100的数据包
sudo tcpdump src 192.168.0.100 //查看来源地址为192.168.0.100的数据包
- (3)关于协议的关键词
sudo tcpdump tcp
sudo tcpdump -i any tcp port 8080 //查看所有网络接口使用tcp协议,而且访问8080端口的数据包
参考文章:
http://www.itshouce.com.cn/linux/linux-tcpdump.html
http://www.cnblogs.com/yc_sunniwell/archive/2010/07/05/1771563.html
http://www.cnblogs.com/maifengqiang/p/3863168.html