赞
踩
Tcpdump 备忘
1.作用:dump traffic on a network。Tcpdump [-选项] [expression]
2.选项
-w file_name 将数据包存储到文件中,-r file_name从文件中读取数据包
-c count 在补货到count个数据包时自动退出
-n 打印ip地址,而不是主机名称;-nn打印端口号,而不是常见服务名称
-q打印尽可能少的数据 –v –vv 打印更详细的数据
-t 不打印时间 –tt打印非结构化的时间 –ttt 打印当前协议和前一个协议的时间差(ms) -tttt打印出日期 –ttttt打印出当前包和第一个包的时间差
-S 打印出tcp序列号的绝对值,默认是打印相对值
-A 以ascii码形式打印数据包内容
-x以16进制形式打印数据包,不包含链路层头部
-xx以16进制形式打印数据包,包含链路层头部
-X –XX同时以ascii码形式打印数据包内容。
3.expression
Expression采用pcap-filter过滤器语法进行数据报的过滤。Expression通常由一个或多个原语组成。原语 = [proto] [dst] [type] [id]。
Type:用于解释id的含义,有四种类型host,net,port,portrange,如果未指定类型,则默认为host。例如:host foo, net 192.168.1,port 22,portrange 22-30。
Dir:用于指定限制的方向,每个数据报都有一个发送源和一个目的地,所以方向限制类型一般有:src,dst,src or dst, src and dst,默认为src or dst。例如:src foo, dst net 192.168.1,src or dst prot 22, src anddst portrang 22-30。
Proto:只匹配指定的协议。可能的协议有 ether,ip,arp,rarp,tcp,udp
可以使用and(&&), or(||),not(!)连接多个原语组成一个复杂的表达式。
支持逻辑表达式
语法:表达式1 关系操作符 表达式2
关系操作符可以是 > ,<,>=, <=,=,!=
表达式可以使用运算符 +,-,*,/,&,|,<<,>>
从协议中取数据的语法为proto[偏移量,长度]。例如ip[2:2]可以取到ip头部的长度字段。
例:仅过滤端口号22(ssh),并且包含数据的数据包,即不打印空的syn,fin,ack数据包。
tcpdump "tcpport 22 and (((ip[2:2] - ((ip[0]&0xf)<<2)) -((tcp[12]&0xf0)>>2))
!= 0)"
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。