identify a router that cuts certain port

Is there a way to identify which particular router between me and some server blocks connections on certain port?

I am in a hotel in Thailand, where they have recently changed some settings in their equipment, and now I cannot reach any of my servers in Europe and USA by SSH / port 22. More traditional ports like 80 or 21 are open.

traceroute command shows each particular router in the middle. But is there a way to identify one that filters out port 22?


Solution 1:

You could probably use tcptraceroute to see where it gets blocked:

$ sudo tcptraceroute ruminant.bitfolk.com 22
Selected device eth0, address 192.168.0.8, port 49071 for outgoing packets
Tracing the path to ruminant.bitfolk.com (85.119.82.121) on TCP port 22 (ssh), 30 hops max
 1  192.168.0.7  0.978 ms  0.556 ms  0.697 ms
 2  192.168.1.1  1.587 ms  1.667 ms  1.681 ms
 3  no-dns-yet-62-3-84-19.zen.co.uk (62.3.84.19)  27.635 ms  26.925 ms  27.658 ms
 4  ge-2-1-0-121.cr2.th-lon.zen.net.uk (62.3.84.213)  28.592 ms  27.971 ms  27.649 ms
 5  linx-gw-a.jump.net.uk (195.66.224.34)  28.614 ms  29.028 ms  63.603 ms
 6  president.bitfolk.com (85.119.80.16)  28.606 ms  28.039 ms  28.657 ms
 7  ruminant.bitfolk.com (85.119.82.121) [open]  28.594 ms  29.030 ms  28.671 ms