- 论坛徽章:
- 0
|
本帖最后由 siage 于 2012-02-13 12:12 编辑
使用python对iptables字段进行检索,在REJECT之前加入一个ACCEPT字段,可是使用正则表达式对字段进行筛选的时候,总是无法检索成功,各位大牛帮我看看,小弟是新手- #!/usr/bin/env pythonimport
- rere_string='-A\s\w*\s-\w\s\bREJECT\b'
- p=re.compile(re_string)
- s=open('iptables','r')
- ip=s.readlines()for i in ip:
- if p.match(i):
- print(i)
复制代码 iptables- # Firewall configuration written by system-config-firewall
- # Manual customization of this file is not recommended.
- *filter
- :INPUT ACCEPT [0:0]
- :FORWARD ACCEPT [0:0]
- :OUTPUT ACCEPT [0:0]
- -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
- -A INPUT -p icmp -j ACCEPT
- -A INPUT -i lo -j ACCEPT
- -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
- -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
- -A INPUT -j REJECT --reject-with icmp-host-prohibited
- -A FORWARD -j REJECT --reject-with icmp-host-prohibited
- COMMIT
-
复制代码 正则表达式为-A\s\w*\s-\w\s\bREJECT\b
就是想找到REJECT字段之前,加入允许的服务
我在Regex Tester上测试正则表达式是可以筛选出需要的字段的,是不是Regex Tester的正则表达式跟Linux的有区别么?
|
|