tool for studying GFW
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
qiang make it run on python 2.6; find-router exit with error when found jam… Apr 9, 2013
.gitignore tcp rst probe supports waits_for_syn_ack Mar 31, 2013 Add a Bitdeli badge to README Dec 13, 2013
batch-find-router improve timeout May 7, 2013
find-router 1984 => 42 Apr 9, 2013
watchdog 1984 => 42 Apr 9, 2013

Command: ./batch-find-router

Description: Using ip_providers configured in qiang/, batch-find-router will first get a list of ip to shoot at. For each ip, it invokes ./find-router destionation-ip to try to find GFW attached router on the path. The result is in var/gfw-attached-routers.csv.

Command: ./find-router destination-ip

Example: ./find-router

Description: find-router command will send packet to the destination-ip you specified, but the ttl will change from a very low value and increase one each time. When the packet reached the router with GFW attached, we will start to recieve "TCP RST" or "Wrong DNS Answer" due to GFW reactions. By doing this, we can tell if there is any GFW attached router between you and the destionation ip, and what's it ip address.

Command: ./watchdog dst1 dst2 dst3 ...

Example: ./watchdog 2> /tmp/watchdog.log

Description: watchdog will run find-router against the destinations you specified. It will report if it is initially blocked and when it is being unblocked/blocked in file var/watchdog.csv.

Blog post:

Bitdeli Badge