Chinaunix

标题: [求助]请问这个layer7匹配规则该如何写呢 [打印本页]

作者: cltnet    时间: 2008-06-19 15:45
标题: [求助]请问这个layer7匹配规则该如何写呢
请问一下我想使用layer7的限制QQ登陆,但是确要允许一部分QQ可以登录,

我看了QQ的layer7模板是这样写的

  1. qq
  2. ^.?\x02.+\x03$
复制代码


但是如果使用这条配置规则的话,就全部的QQ都不能上了,
现在我想允许比如136823699这个QQ号码登录,
抓包可以发现在数据包里面这个QQ帐号是以明文方式显示的
08 27 C3 93

这样的匹配规则我该如何写呢?
我写了以个这样的匹配规则
  1. qq
  2. ^.?\x02.+\x08\x27\xC3\x93.+\x03$
复制代码


这样的匹配规则后,启用iptables规则,则就只有这一个QQ号码不能登录,其他的QQ号码可以正常登录,
我就想,如果在匹配时区非08 27 C3 93 这个号码就可以了,使用我在前面加了

  1. qq
  2. ^.?\x02.+\x!08\x!27\x!C3\x!93.+\x03$
复制代码


但是这样后,QQ数据包就不能正确匹配了,所以这样加上错误的,但是我该怎么加呢?
并且这是匹配的一个QQ号码,要是多加几个QQ号码呢?

谢谢,
作者: ssffzz1    时间: 2008-06-19 19:01
2条L7匹配条目,
即一个匹配文件填写具体要允许的QQ号码。另一个匹配所有的QQ号码。
先允许具体的QQ号码过,然后拒绝所有的QQ号码。其实L7的匹配流程和普通的匹配没有任何区别。
作者: cltnet    时间: 2008-06-20 09:34
标题: 回复 #2 ssffzz1 的帖子
原帖由 ssffzz1 于 2008-6-19 19:01 发表
2条L7匹配条目,
即一个匹配文件填写具体要允许的QQ号码。另一个匹配所有的QQ号码。
先允许具体的QQ号码过,然后拒绝所有的QQ号码。其实L7的匹配流程和普通的匹配没有任何区别。



是的,这样的话有个问题存在,要是允许多个QQ号码上网,那么,就的多写多个允许的QQ号码匹配模板文件,
要是能写在一起就好了.

我看到有个模板上用了,\x02-\03- 这里的"-"号是否就是非的意思呢?但是我加在了我的匹配文件中,好像还是不行.
作者: cltnet    时间: 2008-06-20 09:50
原帖由 ssffzz1 于 2008-6-19 19:01 发表
2条L7匹配条目,
即一个匹配文件填写具体要允许的QQ号码。另一个匹配所有的QQ号码。
先允许具体的QQ号码过,然后拒绝所有的QQ号码。其实L7的匹配流程和普通的匹配没有任何区别。

  1. root@NET:/etc/l7-protocols# cat QQ.pat
  2. QQ
  3. ^.?\x02.+\x14\x7F\xC9\xB8.+\x03$
  4. root@NET:/etc/l7-protocols#
复制代码


  1. root@NET:/etc/l7-protocols# cat qq.pat
  2. qq
  3. ^.?\x02.+\x03$
  4. root@NET:/etc/l7-protocols#
复制代码


以下是我的iptables 规则

  1. root@NET:/etc/l7-protocols# iptables -vnL
  2. Chain INPUT (policy ACCEPT 4979 packets, 518K bytes)
  3. pkts bytes target     prot opt in     out     source               destination         

  4. Chain FORWARD (policy ACCEPT 13130 packets, 3851K bytes)
  5. pkts bytes target     prot opt in     out     source               destination         
  6.   12 13497 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           LAYER7 l7proto QQ l7pkt
  7. 13372 3874K            all  --  *      *       0.0.0.0/0            0.0.0.0/0           account: network/netmask: 0.100.168.192/0.255.255.255 name: mynetwork
  8.     2   900 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           LAYER7 l7proto qq l7pkt

  9. Chain OUTPUT (policy ACCEPT 5072 packets, 1056K bytes)
  10. pkts bytes target     prot opt in     out     source               destination         
  11. root@NET:/etc/l7-protocols#
复制代码


我允许的QQ号码也上不去,是什么原因呢?
作者: ssffzz1    时间: 2008-06-20 12:59
是的,这样的话有个问题存在,要是允许多个QQ号码上网,那么,就的多写多个允许的QQ号码匹配模板文件,
要是能写在一起就好了.

好像,应该是这样的。你再查查在正则表达式里怎么用或操作。感觉N*N麻烦的。
作者: dzb_01    时间: 2008-06-20 15:24
多个QQ号这样试试
  1. ^.?\x02.+{\x08\x27\xC3\x93,QQ号2,QQ号3,.......}.+\x03$
复制代码


排除一个QQ号这样试试
  1. ^.?\x02.+\x[!0][!8]\x[!2][!7]\x[!C][!3]\x[!9][!3].+\x03$
复制代码

作者: wendaozhe    时间: 2009-03-30 09:34
正在看这方面的资料,学习ing!
作者: wendaozhe    时间: 2009-04-02 08:13
原帖由 dzb_01 于 2008-6-20 15:24 发表
多个QQ号这样试试
^.?\x02.+{\x08\x27\xC3\x93,QQ号2,QQ号3,.......}.+\x03$

排除一个QQ号这样试试
^.?\x02.+\x[!0][!8]\x[!2][!7]\x[!C][!3]\x[!9][!3].+\x03$

这两个貌似都不行
作者: gamester88    时间: 2009-04-02 09:03
http://linux.chinaunix.net/bbs/v ... p;page=1#pid6733531
楼上看看这个
作者: wendaozhe    时间: 2009-04-02 09:28
标题: 回复 #9 gamester88 的帖子
已经看过,很感谢,但这样的话,不能排除同一个mac上多个qq的情况。
作者: wendaozhe    时间: 2009-04-02 09:48
不知道lz解决了没。。。。。。
作者: woxizishen    时间: 2015-05-22 10:48
本帖最后由 woxizishen 于 2015-05-22 11:49 编辑

1.要莫简单点做2台代理服务器,一个是员工上网行为管理,一个就是给领导和主管用的不要搞那么多限定

2.在一台代理服务器整,会整的很复杂你懂得。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2