Chinaunix首页 | 论坛 | 博客
  • 博客访问: 731375
  • 博文数量: 741
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 4825
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-18 11:18
文章分类

全部博文(741)

文章存档

2011年(1)

2008年(740)

我的朋友

分类:

2008-09-18 11:31:53

环境说明:10.1.1.170是iptables防火墙,10.1.1.111是服务器。客户端以10.1.1.170做网关与10.1.1.111进行通讯。

封包过滤源代码(C)如下:
if ( (plen == 4 && get_u32(payload,0) == __constant_htonl(0x291c3201)) || (plen == 61 && get_u32(payload,0) == __constant_htonl(0x291c3201) && get_u32(payload,4) == __constant_htonl(0x39000000))) return (IPP2P_PP * 100 + 7);

如上代码过滤的数据包如下:(在10.1.1.170上tcpdump下来的;用以上代码进行过滤时,客户端没有收到服务器发出的下面的数据包)
17:47:08.913799  ip 71: 10.1.1.111.7215 > 10.1.1.170.1169: P [tcp sum ok] 1:18(17) ack 1 win 65535 (DF) (ttl 128, id 1782, len 57)
0x0000   4500 0039 06f6 4000 8006 66ed 3b6c 45c5        E..9.. @ ...f.;lE.
0x0010   0a01 01aa 1847 0491 e6a1 9f18 c1a9 5cda        .....G........\.
0x0020   5018 ffff 49b0 0000 0d00 0000 0e00 0000        P...I...........
0x0030   d718 0244 3950 e86b 02                         ...D9P.k.

17:47:11.833637  ip 71: 10.1.1.111.7215 > 10.1.1.170.1169: P [tcp sum ok] 1:18(17) ack 1 win 65535 (DF) (ttl 128, id 1857, len 57)
0x0000   4500 0039 0741 4000 8006 66a2 3b6c 45c5        E..9.A @ ...f.;lE.
0x0010   0a01 01aa 1847 0491 e6a1 9f18 c1a9 5cda        .....G........\.
0x0020   5018 ffff 49b0 0000 0d00 0000 0e00 0000        P...I...........
0x0030   d718 0244 3950 e86b 02                         ...D9P.k.

17:47:17.863647  ip 71: 10.1.1.111.7215 > 10.1.1.170.1169: P [tcp sum ok] 1:18(17) ack 1 win 65535 (DF) (ttl 128, id 1963, len 57)
0x0000   4500 0039 07ab 4000 8006 6638 3b6c 45c5        E..9.. @ ...f8;lE.
0x0010   0a01 01aa 1847 0491 e6a1 9f18 c1a9 5cda        .....G........\.
0x0020   5018 ffff 49b0 0000 0d00 0000 0e00 0000        P...I...........
0x0030   d718 0244 3950 e86b 02                         ...D9P.k.

说明:对比服务器端抓包、网关抓包、客户端抓包得出的结果是上面的数据包被过滤掉了。

问题:
1、由此得出该程序的数据流特征码是什么?
2、怎么得出该程序的特征码?
3__constant_htonl(0x291c3201)进行了什么运算?
4、数据流中那部分和__constant_htonl(0x291c3201)的结果一样?从而导致数据包被过滤?
5、过滤代码执行的是那部分(||的左边还是右边部分)?
6、plen的含义是什么?









-------------------------------------------------------

--------------------next---------------------

阅读(298) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~