从网上下载到一个匿名ip范围数据库,编写了zeek脚本用于检测源地址为匿名的连接。
匿名ip范围数据库
数据文件中有多个字段,此处主要用到ip_from,ip_to,proxy_type,ip_from和ip_to不是点分十进制表示,而是对应ip的32位整数表示。
编写脚本
脚本逻辑: 定义ip范围和代理类型的表,之后通过Input::add_table读入数据。从connection中获取源ip地址提取转化为32位的count类型(无符号整型),通过遍历查找表,若ip在对应范围,则输出notice信息。关键脚本如下:
测试
使用hping3 伪造代理ip地址测试
hping3 -p 22 -S -a 109.68.150.121 192.168.140.136
在notice.log 查看到相关信息