Chinaunix首页 | 论坛 | 博客
  • 博客访问: 145623
  • 博文数量: 37
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 352
  • 用 户 组: 普通用户
  • 注册时间: 2012-12-08 10:56
文章存档

2015年(18)

2014年(6)

2013年(13)

我的朋友

分类: LINUX

2015-09-12 15:30:08

Tcpdump 表达式介绍:
      表达式是一个正则表达式,tcpdump利用它作为过滤报文的条件,如果一个报文满足表达式的条件,则这个报文将会被捕获。如果没有给出任何条件,则网络上所有的信息包将会被截获。
在表达式中一般如下几种类型的关键字。
第一种是关于类型的关键字,主要包括host,net,port, 例如:
     主机:host 245.27.56.34,          指明245.27.56.34是一台主机,
     网络:net  255.255.244.128        指明255.255.244.128是一个网络地址,
     端口:port 22                            指明端口号是22。
    如果没有指定类型,缺省的类型是host.

第二种是确定传输方向的关键字,主要包括src , dst ,dst or src, dst and src,这些关键字指明了传输的方向。 例如:
    src 182.168.41.23   指明IP包中源地址是182.168.41.23 ;
    dst 182.168.41.23   指明IP包目的地址是182.168.41.23 ;
 如果没有指明方向关键字,则缺省是src or dst关键字。

第三种是协议的关键字主要包括ip,arp,rarp,tcp,udp等类型。
   还有三种逻辑运算,取非运算是 'not ' '! ',与运算是'and','&&';或运算 是'or','││';这些关键字可以组合起来构成强大的组合条件来满足人们的需要。


1、抓取包含172.32.85.64的数据包 
     # tcpdump -i eth0  host 172.32.85.64
 
2、抓取包含10.10.10.0/24网段的数据包
    # tcpdump -i eth0  net 10.10.10.0/24
 
3、抓取包含端口22的数据包
    # tcpdump -i eth0  port 22 
 
4、抓取特定协议的数据包:
     抓取udp协议的数据包    #tcpdump -i eth0  udp
     抓取icmp协议的数据包   #tcpdump -i eth0  icmp
     抓取arp协议的数据包     #tcpdump -i eth0  arp
     抓取ip协议的数据包       #tcpdump -i eth0  ip
 
5、抓取源ip是172.32.85.64数据包。
     # tcpdump -i eth0  src host 172.32.85.64
 
6、抓取目的ip是172.32.85.64数据包
    # tcpdump -i eth0  dst host 172.32.85.64
 
7、抓取源端口是22的数据包
    # tcpdump -i eth0  src port 22
 
8、抓取源ip是10.10.10.253且目的ip是22的数据包
    # tcpdump -i eth0  src host 10.10.10.253 and dst port 22
                 
9、抓取源ip是172.32.85.64或者包含端口是22的数据包
     # tcpdump -i eth0  src host 172.32.85.64 or port 22
 
10、抓取源ip是172.32.85.64且端口不是22的数据包
    # tcpdump -i eth0  src host 172.32.85.64 and not port 22

11、抓取源ip是10.10.10.2且目的端口是22,或源ip是10.10.10.65且目的端口是80的数据包。
    # tcpdump -i eth0  \( src host 10.10.10.2 and dst port 22 \) or   \( src host 10.10.10.65 and dst port 80 \)
 
12、抓取源ip是10.10.10.59且目的端口是22,或源ip是10.10.10.68且目的端口是80的数据包。
   # tcpdump -i  eth0  'src host 10.10.10.59 and dst port 22' or  ' src host 10.10.10.68 and dst port 80 '
 
13、把抓取的数据包记录存到/tmp/fill文件中,当抓取100个数据包后就退出程序。
   # tcpdump –i eth0  -w  /tmp/1.cap -c 100
 
阅读(902) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~