tcpdump


tcpdump

tcpdump的输出格式为:系统时间 来源主机.端口 > 目标主机.端口 数据包参数

在内核中取消bpfilter支持,就能屏蔽tcpdump之类的网络分析工具。

参数

不带任何参数的TcpDump将搜索系统中第一个网络接口,并显示它截获的所有数据

tcpdump采用命令行方式,它的命令格式为:

1
2
3
tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ]
[ -i 网络接口 ] [ -r 输入数据包文件名] [ -s snaplen ]
[ -T 类型 ] [ -w 输出数据包文件名 ] [表达式 ]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
-a  	将网络地址和广播地址转变成名字
-b 在网络层上选择协议,包括ip、arp、rarp、ipx都是这一层的
-d  将匹配信息包的代码以人们能够理解的汇编格式给出
-dd  将匹配信息包的代码以c语言程序段的格式给出
-ddd 将匹配信息包的代码以十进制的形式给出
-e  在输出行打印出数据链路层的头部信息
-f  将外部的Internet地址以数字的形式打印出来
-l  使标准输出变为缓冲行形式
-n  不把网络地址转换成名字
-N 不打印出默认的域名
-nn 不进行端口名称的转换
-O 不进行匹配代码的优化
-t   在输出的每一行不打印时间戳
-tt 打印原始的、未格式化过的时间
-v  输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息
-vv 输出详细的报文信息
-c  在收到指定的包的数目后,tcpdump就会停止
-F  从指定的文件中读取表达式,忽略其它的表达式
-i   指定监听的网络接口
-r   从指定的文件中读取包(这些包一般通过-w选项产生)
-w 直接将包写入文件中,并不分析和打印出来
-T  将监听到的包直接解释为指定的类型的报文,常见的类型有rpc (远程过程调用)和snmp(简单 网络管理协议)

表达式

关于类型的关键字(缺省的类型是host)

1
2
3
host:指明主机
net:指明网络
port:指明端口

确定传输方向的关键字(缺省是src or dst关键字)

1
2
3
4
src:指明源地址
dst:指明目的地址
dst or src
dst and src

关于协议的关键字(默认监听所有协议的信息包)

1
2
3
4
5
6
fddi:指明是在FDDI(分布式光纤数据接口网络)上的特定的网络协议
ip:
arp:
rarp:
tcp:
udp:

逻辑运算

1
2
3
取非运算:not ,! 
与运算:and,&&
或运算:or,||

gateway:指明网关

broadcast:指明广播地址

less

greater

---------------The End---------------
0%