如何判断各种协议是否出网

要综合判断各种协议(TCP、HTTP、HTTPS、DNS、ICMP等)及端口通信的情况。常见的允许流量出网的端口有80、8080、443、53、110、25、22等。常用的内网连通性判断方法如下:

  • ICMP协议
执行命令"ping <IP地址或域名>"

ping ip/domain
tracert ip/domain
ping www.baidu.com	# ICMP
tracert baidu.com	# ICMP
  • TCP协议
使用netcat工具,执行"nc <IP地址 端口号>"
或者
telnet <IP地址 端口号>

telnet ip port
nc -zv ip port
nc -zuv ip port
telnet 192.168.1.108 22		# TCP
nc -zv 192.168.1.108 80		# TCP
nc -zuv 192.168.1.108 80	# UDP
  • HTTP协议

    Windows XP 和 Windows Server 2003没有Powershell、bitsadmin,certutil也不能用。

    可以写一个vbs下载者(https://www.jb51.net/article/50538.htm)到目标主机上,执行测试http是否出网。 或者用 mshta(可能会弹框)

CURL下载:https://curl.se/download/
curl ip or domain
curl http://www.baidu.com	# HTTP
在使用curl时,需要执行"curl <ip地址:端口号>"命令。如果远程主机开启了相应的端口,会输出相应的端口信息;如果远程主机没有开通相应的端口,则没有任何提示。按"ctrl+c"键即可断开连接

or

certutil -urlcache -f -split http://xxx/


Linux: wget curl
Windows: certutil powershell bitsadmin regsrv....
  • DNS协议

在进行DNS连通性检测时,常用的命令为nslookup和dig

nslookup是Windows操作系统自带的DNS探测命令。其用法如下:

nslookup www.baidu.com vps-ip    
#nslookup domain [dns-server]  如果没有指定dns服务器,就采用系统默认的dns服务器。

dig是Linux默认自带的DNS探测命令。其用法如下:

dig @vps-ip www.baidu.com
  • 还有一种情况是流量不能直接流出,需要在内网中设置代理服务器,常见于通过企业办公网段上网的场景。常用的判断方法如下:

​ ①查看网络连接,判断是否存在与其他机器的8080(不绝对)等端口的连接(可以尝试运行“ping -n 1 -a ip”命令)

​ ②查看内网中 是否有主机名类似于"proxy"的机器

​ ③查看IE浏览器的直接代理

​ ④根据pac文件的路径(可能是本地路径,也可能是远程路径),将其下载下来并查看

​ ⑤执行如下命令,利用curl工具进行确认

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值