深度剖析WinPcap之(十)——数据包的内核过滤(7)
2010-06-23 11:05
239 查看
本文转自http://eslxf.blog.51cto.com/918801/241953
UNIX、SunOS、Mach、Linux和FreeBSD等。更为重要的是,Tcpdump是一个开源软件,可以在Tcpdump的基础上进行改进,诸如添加辅助分析的功能,增强网络分析能力,也可对其离线网络流量文件做进一步分析。
Tcpdump使用语法格式如下:
tcpdump[ -AdDeflLnNOpqRStuUvxX ] [ -c count ]
[ -C file_size ] [ -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 user ]
[ expression ]
下面列出此处所关心的参数与具体含义,并针对过滤条件ip给出各自对应的输出码:
-d参数 把高层容易理解的过滤字符串编译为代码,以标准格式输出。执行tcpdump -d ip命令,将获得如下输出:
(000) ldh [12]
(001) jeq #0x800 jt 2 jf 3
(002) ret #96
(003) ret #0
-dd参数 把高层容易理解的过滤字符串编译为代码,以C程序段格式输出。如执行tcpdump -dd ip命令,将获得下面的输出:
{ 0x28, 0, 0, 0x0000000c },
{ 0x15, 0, 1, 0x00000800 },
{ 0x6, 0, 0, 0x00000060 },
{ 0x6, 0, 0, 0x00000000 },
-ddd参数 把高层容易理解的过滤字符串编译成代码,以十进制数值格式输出。如执行tcpdump -ddd ip命令,将获得下面的输出(第一行为输出的指令个数):
4
40 0 0 12
21 0 1 2048
6 0 0 96
6 0 0 0
-O参数 对编译的代码不进行优化。如执行tcpdump -Od ip命令,将获得下面的输出(该过滤条件过于简单,看不出优化与不优化的区别,进一步参见后续章节):
(000) ldh [12]
(001) jeq #0x800 jt 2 jf 3
(002) ret #96
(003) ret #0
WinDump在Windows实现了Tcpdump的功能,其命令使用格式与功能与Tcpdump一致。
Tcpdump与WinDump
Tcpdump软件最初是由美国加里福利亚大学伯克利分校洛仑兹实验室的Vin Jacobson,Craig Leres和Steve McCanne共同开发完成,它可以收集网上的IP报文,井用来分析网络可能存在的问题。现在,Tcpdump已被移植到几乎所有的UNIX系统上,如:HP-UX、SCOUNIX、SunOS、Mach、Linux和FreeBSD等。更为重要的是,Tcpdump是一个开源软件,可以在Tcpdump的基础上进行改进,诸如添加辅助分析的功能,增强网络分析能力,也可对其离线网络流量文件做进一步分析。
Tcpdump使用语法格式如下:
tcpdump[ -AdDeflLnNOpqRStuUvxX ] [ -c count ]
[ -C file_size ] [ -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 user ]
[ expression ]
下面列出此处所关心的参数与具体含义,并针对过滤条件ip给出各自对应的输出码:
-d参数 把高层容易理解的过滤字符串编译为代码,以标准格式输出。执行tcpdump -d ip命令,将获得如下输出:
(000) ldh [12]
(001) jeq #0x800 jt 2 jf 3
(002) ret #96
(003) ret #0
-dd参数 把高层容易理解的过滤字符串编译为代码,以C程序段格式输出。如执行tcpdump -dd ip命令,将获得下面的输出:
{ 0x28, 0, 0, 0x0000000c },
{ 0x15, 0, 1, 0x00000800 },
{ 0x6, 0, 0, 0x00000060 },
{ 0x6, 0, 0, 0x00000000 },
-ddd参数 把高层容易理解的过滤字符串编译成代码,以十进制数值格式输出。如执行tcpdump -ddd ip命令,将获得下面的输出(第一行为输出的指令个数):
4
40 0 0 12
21 0 1 2048
6 0 0 96
6 0 0 0
-O参数 对编译的代码不进行优化。如执行tcpdump -Od ip命令,将获得下面的输出(该过滤条件过于简单,看不出优化与不优化的区别,进一步参见后续章节):
(000) ldh [12]
(001) jeq #0x800 jt 2 jf 3
(002) ret #96
(003) ret #0
WinDump在Windows实现了Tcpdump的功能,其命令使用格式与功能与Tcpdump一致。
相关文章推荐
- 深度剖析WinPcap之(十)——数据包的内核过滤(3)
- 深度剖析WinPcap之(十)——数据包的内核过滤(12)
- 深度剖析WinPcap之(十)——数据包的内核过滤(4)
- 深度剖析WinPcap之(十)——数据包的内核过滤(13)
- 深度剖析WinPcap之(十)——数据包的内核过滤(5)
- 深度剖析WinPcap之(十)——数据包的内核过滤(14)
- 深度剖析WinPcap之(十)——数据包的内核过滤(6)
- 深度剖析WinPcap之(十)——数据包的内核过滤(15)
- 深度剖析WinPcap之(十)——数据包的内核过滤(8)
- 深度剖析WinPcap之(十)——数据包的内核过滤(16)
- 深度剖析WinPcap之(十)——数据包的内核过滤(9)
- 深度剖析WinPcap之(十)——数据包的内核过滤(1)
- 深度剖析WinPcap之(十)——数据包的内核过滤(10)
- 深度剖析WinPcap之(十)——数据包的内核过滤(2)
- 深度剖析WinPcap之(十)——数据包的内核过滤(11)
- 深度剖析WinPcap之(九)——数据包的发送过程(2)
- 深度剖析WinPcap之(九)——数据包的发送过程(10)
- 深度剖析WinPcap之(九)――数据包的发送过程(5)
- 深度剖析WinPcap之(九)――数据包的发送过程(13)
- 深度剖析WinPcap之(三)——内核驱动NPF涉及的基础知识(1)