文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>awk fs正则

awk fs正则

时间:2009-05-04  来源:ubuntuer

来源于cu上的一个问题:

dmesg | grep "bad"
UDP: bad checksum. From 60.11.207.170:13329 to 222.134.54.142:13217 ulen 1056
UDP: bad checksum. From 60.11.207.150:13329 to 222.134.54.142:13217 ulen 1056
UDP: bad checksum. From 220.11.207.171:13329 to 222.134.54.142:13217 ulen 1056
UDP: bad checksum. From 213.121.7.152:13329 to 222.134.54.142:13217 ulen 1056

如何取出其中的ip地址?(这是路由器日志里的,我想做个动态屏蔽问题ip)

[1-255].[0-255].[0-255].[0-255] 不要冒号和以后的东西,也不要数字前的内容

然后将取出的数值  生成以下格式文件
iptables -A INPUT -s 124.64.142.69/32 -j DROP
iptables -A INPUT -s 117.57.192.115/32 -j DROP

一.
   awk的FS可以或者正则表达式(以前只用过[xx ]+):
 awk -F 'From|:' '/bad checksum/&&!a[$3]++{print "iptables -A INPUT -s"$3"/32 -j DROP"}' file

二.
  iptables添加rule,这种东东应该是定时的吧ok,放如crontab可是问题出现了,每次都crontab那肯定要重复拉...
 
  iptables -L | awk '/DROP/{print $4}' >/tmp/droped.list
dmesg |awk -F 'From|:' '/bad checksum/&&!a[$3]++{print $3}' >/tmp/needdrop.list
awk 'NR==FNR{a[$1]=1}NR>FNR&&!($1 in a){print "iptables -A INPUT -s "$1"/32 -j DROP"}' /tmp/droped.list /tmp/needdrop.list |sh
rm -rf /tmp/droped.list /tmp/needdrop.list
  
三.
  不过用route防止DDOS居然听说也不错
  route del -host bbs.chinaunix.net reject

呵呵  当然这些都是上层的,效果效率不谈...DDOS还是c kernel module强大.俺的本行 
 
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载