GhosTCP/扫描IP
防火长城除了使用深度包检测和TCP重置攻击干扰连接外,还会使用封锁IP的方法阻止网站访问。著名的示例有谷歌、推特和脸书:DNS解析出来的IP几乎全部被封锁了。此时我们需要手动从这些网站的IP段中扫描出可用IP用于连接。
获取IP段
编辑不同的网站IP段获取方式各不相同。下面仅给出一些方法示例。
搜索
编辑直接在搜索引擎里输入“Twitter IP range”得到第一个结果 https://ipinfo.io/AS13414 即包括Twitter所在自治系统的IP段。
查询WHOIS
编辑比如我们查询www.google.com
。
dig @208.67.220.220 -p 5353 www.google.com
得到的IP地址为142.251.214.132
。
然后我们再查询该IP的WHOIS记录。
whois 142.251.214.132
得到的一长串WHOIS信息中有如下一段:
# whois.arin.net
NetRange: 142.250.0.0 - 142.251.255.255
CIDR: 142.250.0.0/15
NetName: GOOGLE
NetHandle: NET-142-250-0-0-1
Parent: NET142 (NET-142-0-0-0-0)
NetType: Direct Allocation
OriginAS: AS15169
Organization: Google LLC (GOGL)
RegDate: 2012-05-24
Updated: 2012-05-24
Ref: https://rdap.arin.net/registry/ip/142.250.0.0
我们就得到其IP段为142.250.0.0/15
扫描可用IP
编辑扫描IP的命令是.\ghostcp.exe -scanurl {URL} -scanip {IP RANGE}
例如,如果您要扫描www.google.com.hk
的IP,假设IP段为172.217.0.0/16
,可以使用如下命令:
.\ghostcp.exe -scanurl https://www.google.com.hk -scanip 172.217.0.0/16
GhosTCP会使用IP段中的每个地址尝试访问https://www.google.com.hk
这个URL,并将配置文件中指定的method应用于每个扫描时发出的连接,返回的HTTP状态码为200时,计入可用IP。
如果您没有在配置文件中写明对该被封锁域名的method,GhosTCP就不会修改TCP连接,此时应该是扫描不到任何IP的,因为发出的未修改的请求会被防火长城重置干扰。