/block_scan

监控防火墙每天封锁的IP地址

Primary LanguageShellGNU General Public License v3.0GPL-3.0

IP_block_monitor

监控防火墙每天封锁的IP地址

愿景

- 试着归纳出被黑洞路由的IP段
- 是哪些路由上部署了黑洞规则
- 试着找出使用这些IP段的网站、公司、服务,推测原因

设想

- IPV4地址空间是有限的 2**32个
- 时间是有限的 必须每天实时更新
- 监测站可以是无限的 :)

第一个做法

- 找出所有开放80端口和443端口的IP [前人已经做过了]!(https://scans.io)
- 上面的数据库不太新鲜,通常是两周更新一次
- 在国内检测存活率 使用 ping 和 tcp-syn 握手包
- 其实规矩的做法是发送 syn 握手包收到 syn-ack 后返回 rst 但没做
- 国内检测完毕 会得到一个存活的IP列表 包括返回 syn-ack 和 rst 的
- 在墙外检测这些墙内访问不了的IP 如果能访问说明确实被黑洞路由了
- 为了消除是IP特意屏蔽**地区的嫌疑,分别用香港和美国IP

第二个做法

- 第一个做法的IP数据有两个G 退而求其次检测alexa前一百万域名
- 使用dig查出所有A记录 然后使用hping3检测存活

第三个做法

- 第二个做法是同步检测 把服务器搞得生不如死 慢到无法接受
- 分解了dig操作和hping3操作,使用异步检测方法
- 感谢高春辉提供的国内IP列表 减少了工作量
- 发现有一部分解析结果的A记录是保留IP 过滤掉后又减少了一些工作量

目前状态

- 大概几个小时就可以扫描完毕
- 寻求发现黑洞路由的机制 

接下来的事情

- 检测出到底是哪些路由部署了黑洞规则
- ping的TTL设置小一点 通过这些路由的反应推测所封锁的IP段
- 观察哪些网站和服务在使用这些IP 收集信息发送每日报告