探测主机是否能够出网
使用windows自带的ftp
使用这种方式确实可以判断目标机器是否可以与外部IP建立TCP连接,但是缺点是只能探测21端口,windows自带的ftp命令无法使用一条命令连接指定端口,需要先进入交互式的ftp命令提示符之后才可以使用open指定端口
使用portqry.exe
该工具为Microsoft提供,不会被杀软查杀,可以使用如下方式探测指定IP的指定端口是否开启:
portqry.exe -n 114.116.241.95 -e 54321
portqry默认采用TCP协议进行端口探测,可以使用-p
选项指定协议:
portqry.exe -n 114.116.241.95 -e 55555 -p udp
获取主机出口IP
对于出网的机器,直接使用上面两种方法即可获取到主机的出口IP,但是对于不出网但是又能够解析域名并往外发ICMP包的主机来说,就需要使用下面这两种方法来获取出口IP了
使用BurpSuite的Burp Cpllaborator client
点击copy to clipboard
获取域名
在目标机器上ping上面获取到的域名:
然后在Burp Cpllaborator client
点击Pull now
,即可获得DNS请求信息,从而获取到目标机器的出口IP:
不过使用这种方法获取到的IP不保证为目标机器的真实出口IP,因为如果它使用的是递归查询的方式,那么我们获取到的IP可能就是最后一个向我们发起dns查询请求的dns服务器的IP,只能大致推测一下目标IP的地理位置,还是使用tcpdump监听icmp包比较靠谱
监听ICMP包
左侧使用tcpdump监听eht0网卡上的ICMP包:tcpdump -nn -i eth0 icmp
一般情况下是不会有人ping我们的vps的,所以这种方法相对比较准确,这里只发了一次包,可以多发几次以提高正确率