对所抓的报文进行分析

前文说到如何抓包,这下算是抓着了。我们中间补习一段,就是这个过滤字符串如何写,man一下tcpdump给我们以启示,分三种类型:

 

 type   过滤器以id名和数字组成.  可能的类型有host、net、port、portrange.例如:`host foo', `net 128.3', `port 20', `portrange 6000-6008'.  如果没有指定type,那么默认是host

dir    过滤器指定一系列的方向信息,并用and/or连接。  比如src、dst或者src and dst等,例如:`src foo', `dst net 128.3', `src or dst port ftp-data'.  若方向不指定,则认为默认是src or dst。 


proto  过滤器以协议类型做限定.  典型的协议有: ether, fddi, tr, wlan,  ip,  ip6,  arp,  rarp, decnet,  tcp  and  udp.   例如,  `ether src foo', `arp net 128.3', `tcp port 21', `udp portrange 7000-7009'.  如果没有指定协议,那么默认就是所有协议  比如., `src foo' means `(ip or arp or  rarp)  src  foo', `net bar' means `(ip or arp or rarp) net bar' and `port 53' means `(tcp or udp)port 53'.

 

ok,我们可以自由的修改expression那个字符串以满足自己的过滤需求了。

书接前文,我们得到了这个报文,怎么解析?好的,我们把packet那个变量,不是存储着报文的真正内容吗?

我们转换为一个结构,叫做struct libnet_ethernet_hdr *,存在一个叫eth的变量中,然后依靠

if(eth->ether_type == ntohs(ETHERTYPE_IP)) 
…………
if(eth->ether_type == ntohs(ETHERTYPE_ARP))
…………
来对报文做不同的处理。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值