TCPdump抓包工具

来源:互联网 发布:linux公社 编辑:程序博客网 时间:2024/05/31 19:47

主要功能:

捕获和分析数据包。

TcpDump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供 and、or、not等逻辑语句来帮助你去掉无用的信息。

 

命令格式:

tcpdump [ 选项 ] [ -c数量 ] [ -i 网络接口 ] [ -w 文件名 ] [ 表达式 ]

 

常用选项:

-l:使标准输出变为缓冲行形式;

-c:抓包次数;

-nn:直接以 IP及 Port Number 显示,而非主机名与服务名称;

-s :<数据包大小> 设置每个数据包的大小;

-i:指定监听的网络接口;

-r:从指定的文件中读取包;

-w:输出信息保存到指定文件;

-a:将网络地址和广播地址转变成名字;

-d:将匹配信息包的代码以人们能够理解的汇编格式给出;

-e:在输出行打印出数据链路层的头部信息;

-f:将外部的Internet地址以数字的形式打印出来;

-t:在输出的每一行不打印时间戳;

-v :输出稍微详细的报文信息;加一个v更详细。

 

四种表达式:过滤报文条件

1、关于类型的关键字,主要包括host,net,port, 例如 host210.27.48.2,指明 210.27.48.2是一台主机,net 202.0.0.0 指明202.0.0.0是一个网络地址,port 23 指明端口号是23。如果没有指定类型,缺省的类型是host。

2、确定传输方向的关键字,主要包括src, dst ,dst or src, dst and src ,这些关键字指明了传输的方向。例如 src210.27.48.2 ,指明ip包中源地址是210.27.48.2, dst net 202.0.0.0 指明目的网络地址是202.0.0.0。如果没有指明方向关键字,则缺省是src or dst关键字。

3、协议的关键字,主要包括ip,arp,tcp,udp等类型。

4、三种逻辑运算,与运算是’and’,'&&’; 或运算是’or’ ,’||’; 非运算是‘not ‘ ‘! ‘。

其他重要的关键字如下: broadcast,less(小于),greater(大于)

 

参数说明:

紧急指针— URG 
确认序号有效—ACK 
接收方应该尽快将这个报文段交给应用层—PSH 
重建连接—RST 
同步序号用来发起一个连接—SYN 

发端完成发送任务—IN 

 

举例说明:

1、截获eth0网卡10次收发所有数据包并将抓包结果保存到test文件,再读取test抓包结果文件

tcpdump i eth0 c 10w test

tcpdump r test

2、截获来访问80端口的所有数据包(指定端口范围portrange 1-1024)

tcpdump port 80

3、截获所有来自主机114.254.151.51的进出所有数据包

tcpdump host114.254.151.51

4、截获ip包中源地址是114.254.151.51的(目的是dst)

tcpdump src114.254.151.51

5、截获主机114.254.151.51和主机114.254.151.52的通信

tcpdum host114.254.151.51 and 114.254.151.52

6、截获tcp协议并且源地址114.254.151.51来访问80的端口

tcpdump tcp and src114.254.151.51 and port 80

7、截获主机114.254.151.51除了和114.254.151.52之外的所有ip包

tcpdump ip host114.254.151.51 and ! 114.254.151.52

8、截获长度大于1000数据包,对于DDOS攻击时,可以使用

tcpdump -i eth0greater 1000

原创粉丝点击