vb 如何测试代理服务器是否可用

vb 如何测试代理服务器是否可用,第1张

Private Sub Command1_Click()
    Dim OBJWMIService, colPings, OBJStatus
    Dim i As Integer, WebAddress As String
    WebAddress = "62585218" '请修改代理服务器地址
    Set OBJWMIService = GetObject("winmgmts:\\\root\cimv2")
    If WebAddress <> "" Then
        Set colPings = OBJWMIServiceExecQuery("Select  From Win32_PingStatus Where Address = '" & WebAddress & "'")
        For Each OBJStatus In colPings
            If IsNull(OBJStatusStatusCode) Or OBJStatusStatusCode <> 0 Then
                MsgBox "连接不通。。。"
            Else
                MsgBox "pinging [" & WebAddress & "] one time with " & OBJStatusBufferSize & "bytes of data:" & Chr(10) & Chr(10) & "Reply from " & OBJStatusProtocolAddress & ": bytes=" & OBJStatusBufferSize & " time=" & OBJStatusResponseTime & "ms TTL=" & OBJStatusResponseTimeToLive, , "连接成功!"
            End If
        Next
    End If
    Set OBJStatus = Nothing
    Set colPings = Nothing
    Set OBJWMIService = Nothing
End Sub

8888是一个IP地址,是Google提供的免费DNS服务器的IP地址,Google提供的另外一个免费DNS服务器的IP地址是:8844 。用户可以使用Google提供的DNS服务器上网。

IP地址就像是我们的家庭住址一样,如果你要写信给一个人,你就要知道他(她)的地址,这样邮递员才能把信送到。计算机发送信息就好比是邮递员,它必须知道唯一的“家庭地址”才能不至于把信送错人家。只不过我们的地址是用文字来表示的,计算机的地址用二进制数字表示。

IP地址被用来给Internet上的电脑一个编号。大家日常见到的情况是每台联网的PC上都需要有IP地址,才能正常通信。我们可以把“个人电脑”比作“一台电话”,那么“IP地址”就相当于“电话号码”,而Internet中的路由器,就相当于电信局的“程控式交换机”。

1、浏览器“连接”选项设置错误
解决办法:正确设置上网类型。如果是通过代理服务上网的,请正确填写代理服务器的IP地址与端口号;如果不是,请不要勾选“通过代理服务器”这个选项。
2、DNS服务器设置错误
解决办法:如果ISP提供商分配给你的是固定的IP地址,那么请正确填写ISP提供的IP地址与DNS服务器地址;如果ISP提供商分配的是动态的IP地址,那么无须填写DNS服务器地址;还有一个可能是ISP提供商的DNS服务器出错不能正确地进行域名→IP地址之间的转换,这个时候你可以在浏览器的地址栏敲入网站的IP地址,即可浏览网页。
3、防火墙设置错误
解决办法:如果防火墙设置不当,那么可能阻隔与外网进行信息交换,造成无法浏览网页的故障。我们可以修改防火墙设置。什么,怎么修改?这就不用俺说了吧。嗯,还是说一下,对于不了解的朋友直接选默认级别,选“中”就可以了。
情况二:ADSL能成功登陆但无法浏览网页的故障解决办法
首先应该PING ISP的DNS服务器地址,看看能否PING通,如果能PING通,多数是软件问题居多,如果不能PING通,则应该检查硬件设备/线路连接状况和通讯协议(TCP/IP)
如果能PING通,可以看到类似以下的信息:
命令:PING 2029816068
Reply from 2029816068: bytes=32 time=14ms TTL=250
Reply from 2029816068: bytes=32 time=27ms TTL=250
Reply from 2029816068: bytes=32 time=20ms TTL=250
Reply from 2029816068: bytes=32 time=17ms TTL=250
如果不能PING通,会有以下信息:
Pinging 2029816068 with 32 bytes of data:
time out
time out
time out
time out
1有多台电脑的朋友,可以用别的电脑替换,替换的电脑不要装任何代理服务器软件,也不要装任何防火墙,并且只装一个网卡直接和ADSLMODEM相连,正确装上ADSL拨号软件后。看是否能正常浏览,如果能,故障就是用户端的电脑引起,如果不行,就需要检测MODEM和线路是否正常。
2只有一台电脑的朋友,可以先停止运行所有代理服务器软件,例如WINGATE 、SYGATE、WINDOWS的INTERNET连接共享(ICS)等等,直接登陆看看故障能否排除,如果停止运行代理服务器软件后故障排除,那可以肯定是代理服务软件的问题。
3检查浏览器特别是IE的设置,例如最常见的引发不能浏览网页的故障是在IE中选取了“自动检测设置”,记住这个选项千万不要选取。如果是IE5X版本,单击工具-》INTRENET选项-》连接-》局域网设置,就可以看到该选项,如果该选项前面打了勾,一定要取消。取消后故障就可以解决。
4检查TCP/IP协议的属性设置,特别是DNS服务器设置是否正确,昆明的ADSL用户可以将主控DNS服务器设置为:2029816068,辅助DNS可以设置为:2029816168 , 特别要说明的是,拨号软件不同,设置DNS的位置也不一样,有些(在拨号网络的连接图标的属性中设置,有些在控制面板网络中设置,有些在拨号软件(例如ENTERNET300)自带的连接Profile属性中设置。这3个地方都要务必设置正确。
5用WINDOWS的朋友,如果经过上述检查都确认正确无误,可以准备好ADSL拨号软件和WINDOWS系统光盘,然后先删除拨号软件,再删除控制面板/网络中的所有TCP/IP协议,重启电脑后再重新添加TCP/IP协议,并打开MODEM电源,重新安装拨号软件,经过测试,如果设置正确无误,重装拨号软件和TCP/IP后大都可以解决拨号能拨通但无法浏览网页的问题。
6更换一个浏览器软件例如网景公司的NETSCAPE浏览器浏览测试。
7如果你直接连接ADSL MODEM上网的那台电脑装了两个网卡,试试把连接局域网络的网卡先拿起,只留下连接ADSL MODEM的网卡。然后看看故障是否排除,如果故障排除,就应该检查网络和系统资源配置。特别是看看网卡和其他设备有没有冲突(WINDOWS用户可以在控制面板/系统/设备管理中查看设备是否正常)
8你的网卡启用了BOOT ROM芯片的引导功能,而且网卡带有PXE的引导芯片之后所造成的。可以这样解决:
①如果网卡是集成在主板上的,或者将网上的启动程序写进了BIOS中,可以从BIOS设置中修改系统的引导顺序,如设置硬盘最先引导,或者从BIOS中禁止网卡启动系统。
②如果网卡不是集成的,则可以拔掉网卡上的引导芯片或者用网卡设置程序,禁止网卡的BootROM引导功能也可以关机,然后在开机之后,当出现“Press Shift-F10 Configure……”时,马上按“Shift+F10”组合键,进入菜单之后,从第4行中将Boot order rom设置为disable,然后按F4键保存退出。
情况三:共享上网无法浏览网页
用Windows XP系统的机器做代理服务器后发现局域网中的其他电脑无法浏览网页,但是有数据流,还可以使用QQ等软件,网络中的各个机器也可以互访。代理服务器为双网卡,在网络配置向导中设置为“网络中的其他计算机通过本机上网”(通过a网卡接局域网),在共享属性中设置为“共享到网络中的b连接”(即第2张,为b网卡)。客户机设置为“通过网络中的其他电脑上网”, *** 作系统有Windows 98/2000/XP,通过交换机连接。代理服务器接交换机的了个指示灯工作正常(a、b网卡和宽带Modem连接),但客户机上的指示灯只是偶尔亮一下。在打开网页时,可以在状态栏看到“正在打开网页”但很长时间都看不到网页,最后显示“网页无法显示”的提示。
解决措施:可能是你的网线连接和DNS设置存在问题:
①做一条级联线,将a网卡直接连接到宽带ADSL上,其他不动。
②设置其他客户机的IP地址为19216802、19216803、19216804……,子网掩码设置为2552552550,设置每台客户机的网关地址为19216801,设置DNS为你的ISP的DNS地址。
同时,也可以考虑一下代理服务器、网卡之间是否存在着冲突,调换一下PCI插槽、移除暂时不需要的外设等也对问题的解决有一定帮助。
常见的ADSL断流现象
网页打不开、下载中断、或者在线视、音频流中断,这些情况都是很多使用ADSL上网的人会遇到的麻烦。可是当仔细检查ADSL MODEM的状态时,又会发现拨号登录已经成功。那么问题究竟出在哪里?
1线路不稳定
如果住所离电信局太远(5公里以上)可以向电信部门申报。确保线路连接正确(不同的话音分离器的连接方法有所不同,请务必按照说明书指引正确连接)。同时确保线路通讯质量良好没有被干扰,没有连接其它会造成线路干扰的设备,例如电话分机,传真机等。并检查接线盒和水晶头有没有接触不良以及是否与其它电线串绕在一起。有条件最好用标准电话线,如果是符ITU国际电信联盟标准的三类、五类或超五类双绞线更好。电话线入户后就分开走。一线走电话、一线走电脑。如果居住的房间都希望安装电话分机,最好选用质量好的分线盒。PC接ADSL Modem附带的双绞线。(注意:手机一定不要放在ADSL Modem的旁边,因为每隔几分钟手机会自动查找网络,这时强大的电磁波干扰足以造成ADSL Modem断流。)
2检查您的网卡,如果是ISA网卡最好能换成PCI的,并且选择质量好的网卡,太便宜的网卡可能是造成问题的罪魁祸首。10M或10M/100M自适应网卡都可。另外,双网卡引起冲突同样值得关注,这时,应当拔起连接局域网或其它电脑的网卡,只用连接ADSL的网卡上网测试,如果故障恢复正常,检查两块网卡有没有冲突 。
3ADSL Modem或者网卡设置有误
最常见的是设置错了ADSL Modem的IP地址,或是错误设置了DNS服务器。因为对于ADSL虚拟拨号的用户来说,是不需要设定IP地址的,自动分配即可。TCP/IP网关一般也不需要设置。另外如果设定DNS一定要设置正确,如果 *** 作系统是Windows 9x,在DOS窗口下键入Winipcfg获取DNS地址,在Windows 2000/XP下键入ipconfig /renew,或询问当地电信部门。
另外,TCP/IP设置最容易引起不能浏览网页的情况,例如没有更改过设置,一直可以正常浏览,突然发现浏览不正常了,就可以试着删除TCP/IP协议后重新添加TCP/IP 协议。
4ADSL Modem同步异常
检查一下自己的电话线和ADSL连接的地方是否接触不良,或者是电话线出现了问题。如果怀疑分离器坏或ADSL Modem坏,尝试不使用分离器而直接将外线接入ADSL Modem。如果确定是分离器没有问题,要保证分离器与ADSL Modem的连线不应该过长,太长的话同步很困难。如果排除上述情况,只要重起ADSL Modem就可以解决同步问题。
5拨号软件互扰
ADSL接入Internet的方式有虚拟拨号和专线接入两种,现在个人用户的ADSL大都是采用前者。而PPPOE(Point-to-Point Protocol over Ethernet以太网上的点对点协议)虚拟拨号软件都有各自的优缺点。经过多方在不同 *** 作系统的测试,如果使用的 *** 作系统是Windows XP,推荐用它自带PPPOE拨号软件,断流现象较少,稳定性也相对提高。如果使用的是Windows ME或9x,可以用以下几种虚拟拨号软件——EnterNet、WinPoET、RasPPPoE。其中,EnterNet是现在比较常用的一款,EnterNet 300适用于Windows 9x;EnterNet 500适用于Windows 2000/XP。当你用一个PPPOE拨号软件有问题时,不妨卸载这个软件后换用一个其它的PPPOE拨号软件,请务必注意不要同时装多个PPPOE软件,以免造成冲突。
6其他软件冲突
卸载有可能引起断流的软件,现在发现某些软件例如QQ 2000b等,偶然会造成上网断流,具体什么条件下会引发,尚要进一步测试。不少网友卸载后就发现断流问题解决了,包括用普通Modem 163拨号上网的用户也有用这种方法解决了断流问题的情况,笔者也收到朋友的邮件反映卸载QQ后断流问题解决,所以如果你有QQ,不妨先卸载你的OICQ,然后再上网试试。当你发现打开某些软件就有断流现象,关闭该软件就一切正常时,卸载该软件试试。
7病毒攻击和防火墙软件设置不当
虽然受到黑客和病毒的攻击可能性较小,但也不排除可能性。病毒如果破坏了ADSL相关组件也会有发生断流现象。建议安装“天网防火墙”或者“金山网镖”网络防火墙,它们都可以实时监控你的计算机和网络的通讯情况,并警告提示莫名的网络访问方式,有效降低受攻击的危险性。如果能确定受到病毒的破坏和攻击,还发生断流现象时就应该检查安装的防火墙、共享上网的代理服务器软件、上网加速软件等,停止运行这类软件后,再上网测试,看速度是否恢复正常。
到了总结的时候了,无法浏览网页是上网最常见的故障之一,其具体原因比较复杂,解决的方法也不尽相同。我们可以这样:先软再硬后系统,先简单后复杂,折半查找缩小故障范围。具体有以下几个主要步骤:
第一步:排除偶然的、不可预见性故障
不管三七二十一,先冷启动电脑及调制解调器,排除可能存在的偶发性、不可预见性故障,例如软件冲突、内存混乱、ADSL Modem自动断线、IP调整中的自动断线、设备休眠等问题。仍不行再打听别人或别的电脑能否正常浏览网页,判断是共性问题还是个性问题。如果是共性问题,对因特网就只能由ISP解决,对局域网则要检查服务器或网络线路。如果是个性问题,就可以把视线集中到本网络及本机上来。
第二步:初步确定故障范围
用命令ping检查判断。主要ping以下地址:一是ping 本机循环地址(127001),如果显示Reply from 127001: bytes= time=ms TTL=,则表示TCP/IP协议运行正常,若显示Request timed out(超时),则必须重装该协议。二是ping本机IP地址。使用ipconfig命令(9x系统应该输入winipcfg)查看本机IP地址,若通则表明网络适配器工作正常,否则可能是网卡、Modem有问题。三是ping同网段电脑地址。若不通表明本段网络有问题。若网络中有网关、路由器,则要分别ping其与本网段和其他网段相连端口的IP地址,以确定其是否有故障。四是ping 主、备用DNS服务器和Web服务器地址,若不通则与网管或ISP联系解决。
若上述地址都能ping通,则可确定是 *** 作系统和浏览器的故障。如果其间间断出现超时错误(亦需考虑服务器可能设置为禁止ping的情况),表明网络不稳定,易丢包,例如局域网中有广播风暴就可能产生时断时续,这一般是网络连接、配置错误、或用户过多造成的。
第三步:排除可能存在的“软”问题
一是检查网络配置。检查TCP/IP协议的设置情况、网卡、Modem等设备的参数设置,重点是IP地址、网关、DNS地址是否正确,若有误则恢复到正常时的设置。检查协议、网络适配器是否过多,建议删除“NetBEUI”、“IPX/SPX”等协议(视网络情况定)。若通过代理服务器上网,则检查浏览器中“代理服务器”设置是否正确。检查是否错误设置了拨号适配器的IP地址,由于传统拨号上风的IP地址是自动分配,在电脑配置了网卡时有可能将本该设置在网卡上的固定IP地址错误设置在拨号适配器上,导致无法拨号上网。检查拨号上网相关设置是否符合ISP要求,例如有的地区拨号上网号码、用户名及密码调整了,改为16300,16900等。
二是检查网卡、Modem等设备的驱动程序是否有问题,如果在设备管理器中发现有的!或?,要重新安装配套的驱动程序。
三是检查系统是否感染了病毒。将杀毒软件升级到最新版本后全面杀毒。
第四步:排除可能存在的“硬”问题
一是检查网卡、各种调制解调器等是否工作正常(是否被禁用)。检查是否因过热而出现工作不稳定的情况,例如可通过 Modem指示灯、网卡指示灯观察其是否工作正常(对照说明书等资料观察)。用替换法(换设备或将此设备移到其他电脑上试验)检查是否网卡、Modem品质或者兼容性不好。
二是检查是否为网络接口故障。检查有关板卡(如网卡)是否被禁用。板卡、线路、RJ-11及RJ-45线接头因多次插拔、灰尘太多、老化可能导致虚接、松动,可关机断电后取下用橡皮擦或酒精棉试、重新插拔,或者换个插槽、接口试试,或者重新连接线路并用绝缘胶带隔离加固或更换。例如RJ-45接口经常会出现松动情况,可用压线钳加固。
三是检查外线是否有通畅。如果通过电话上网则检查电话线路是否正常,可将Modem上的电话进线接到电话机上听有无拨号音,或直接拨号测试。从ISP到ADSL滤波器这段连接中任何设备的加入都将危害到数据的正常传输,所以在滤波器之前不要并接电话、电话防盗打器等设备。若用老式Modem上网,电话机不能开启防盗打功能。检查ADSL Modem 分频器是否连接正确,即电话进线接分频器Line口,电话或传真机接Phone口,宽带调制解调器电话线接ADSL口。
四是检查电压是否稳定,环境温度是否过高(过低)以及网络线路是否繁忙。
第五步:排除浏览器故障
修复浏览器。将浏览器所有设置恢复到默认值后再试,排除设置因素。修复浏览器,可以通过“添加删除程序”(对IE6)、升级,或用上网助手在线修复。还可以安装其它的浏览器试试。
第六步:排除 *** 作系统故障
一是修复注册表。由于访问恶意网站可能导致计算机注册表被更改,不能上网。通过注册表修复器、上网助手等工具或scanreg /restore命令修复注册表。
二是关掉其它已经运行的部分可能造成冲突的内存驻留程序(或进程)、关闭或禁用其他设备(例如其他的网卡、Modem、共享资源的相关设备等),再尝试是否能上网。
三是检查 *** 作系统文件是否被破坏。用Windows系统文件检查器检查(win98的用sfc,win2000以上的用sfc/scannow),如果提示被破坏则恢复。
四是重装 *** 作系统。从保护数据的角度出发,建议先覆盖安装,如果仍没有解决问题则在准备好驱动程序安装盘、备份好重要资料备份(最好先将系统分区Ghost)的前提下,格式化安装 *** 作系统。
不介意俺再来个小总结吧。再做个小总结吧,DNS服务器设置错误,TCP/IP协议出错,这是最常见的错误。你需要首先检查拨号网络中的主控DNS和辅助DNS是否有错误,注意这里是检查“拨号网络”的DNS而非“控制面板”中的“网络”的DNS。DNS地址请询问你的当地ISP,你在哪报装的宽带就去那问呗。现在通讯那么发达,一个电话就可以了。什么,你不知道他们电话?俺也不知道,在俺村里不管有什么问题,打110就可以了,还是免费的。你们也可以试下。怎么设DNS就不用问俺了吧,麻烦会的朋友告诉不会的朋友,俺代表党和国家向你敬礼了。
下面再说说由于TCP/IP协议出问题引起的故障,如果你检查过以上设置后发现设置没有错误,但仍然无法浏览网页,那么你就要检查“TCP/IP”协议是否出错了,在桌面上双击“我的电脑”图标, 再双击“控制面板”,在控制面板中找到“网络”图标,双击它 将d出一个新的窗口,在d出的窗口中看看“已安装了下列网络组件”中是否安装了以下几项:
×拨号网络适配器
×TCP/IP
这里要特别注意两点:第一,如果这里重复安装了两次拨号网络适配器或TCP/IP,就造成无法浏览网页,怎么看出是重复安装了呢?假如重复安装了拨号网络适配器,你会看到有一行写着“拨号网络适配器#2”或“TCP/IP->拨号网络适配器#2”,这里多了一个“#2",代表你安装了两次,如果发现有这样#2的一行,请务必删除此行。第二,如果这里没有重复安装,但又肯定拨号网络中的配置无误,那么极有可能就是TCP/IP协议出错造成无法浏览网页,解决办法是删除此协议重新安装TCP/IP(注意做此步前请先确定你有windows9x的安装光盘,因为重装时系统需要从此光盘中读取数据),具体方法是:用鼠标左键单击“拨号网络适配器”,再留意此窗口有三个按钮,分别是“添加”、“删除”和“属性”,单击“删除”,这时你会发现“拨号网络适配器”已经被删除,再检查“TCP/IP”,通常如果你没有装其它网卡,删除了拨号网络适配器后TCP/IP也会跟着删除,如果你安装了其它网卡,那么请你用鼠标左键单击含有TCP/IP的行,然后将他们一一删除。单击“确定”。系统会询问你是否重新启动电脑,单击“是”。重启电脑后,再进入“控制面板”,双击“网络”,回到刚才的窗口,然后单击“添加”按钮,一个新的窗口将出现,在此窗口选择“适配器”,再单击“添加”,会出现最后一个新的窗口。此窗口的左边方框是“厂商”,这里选择“Microsoft”,在右边方框中选择“拨号适配器”,单击确定,你会发现现在回到了控制面板中的“网络属性”窗口,而且“已安装了下列网络组件”中已经重新增加了“拨号网络适配器”和“TCP/IP”协议。单击“确定”系统可能会要求你放入Windows9X的安装光盘,读取数据后会问你是否重新启动电脑,单击“是”,重启电脑后拨号上网,通常到此不能浏览网页的故障都会排除。
提示:以上一段话中有一点请务必注意,有部分朋友反映重装“TCP/IP”后仍然不能浏览网页,经我们测试发现,原因是有些朋友在删除了“TCP/IP"后没有重启电脑就立即在窗口中重新添加“TCP/IP”,最后重启电脑,这样做是徒劳无功的。请记住务必在删除“TCP/IP”后重启电脑,然后再添加“TCP/IP”,添加后再一次重启电脑,这样总共重启了两次电脑而非只重启一次,只有如此才能解决故障。
总之, 本文仅从思路上作了简单剖析,具体 *** 作步骤应视本网络、本机具体情况而定,切不可生搬硬套。而且还要强调一点,因特网上少数站点不能浏览的现象是完全正常的,是因为这些网站可能已注销或被禁止访问。最后再提一点,也有可能是你的IE浏览器本身的问题,换用其它浏览器试试。(可能性比较小)

bytes是字节,是指你向对方发送了一个32字节的数据包——32字节是ping命令默认的
time是发送和返回所用的时间,越短说明网速越快,ms是毫秒
ttl值就麻烦了,
参看PING命令中TTL的具体含义
简单来说,TTL全程Time to Live,意思就是生存周期。
首先要说明ping命令是使用的网络层协议ICMP,所以TTL指的是一个网络层的网络数据包(package)的生存周期,这句话不懂的先回去复习OSI7层协议去。
第一个问题,为什么要有生存周期这个概念。
很显然,一个package从一台机器到另一台机器中间需要经过很长的路径,显然这个路径不是单一的,是很复杂的,并且很可能存在环路。如果一个数据包在传输过程中进入了环路,如果不终止它的话,它会一直循环下去,如果很多个数据包都这样循环的话,那对于网络来说这就是灾难了。所以需要在包中设置这样一个值,包在每经过一个节点,将这个值减1,反复这样 *** 作,最终可能造成2个结果:包在这个值还为正数的时候到达了目的地,或者是在经过一定数量的节点后,这个值减为了0。前者代表完成了一次正常的传输,后者代表包可能选择了一条非常长的路径甚至是进入了环路,这显然不是我们期望的,所以在这个值为0的时候,网络设备将不会再传递这个包而是直接将他抛弃,并发送一个通知给包的源地址,说这个包已死。
其实TTL值这个东西本身并代表不了什么,对于使用者来说,关心的问题应该是包是否到达了目的地而不是经过了几个节点后到达。但是TTL值还是可以得到有意思的信息的。
每个 *** 作系统对TTL值得定义都不同,这个值甚至可以通过修改某些系统的网络参数来修改,例如Win2000默认为128,通过注册表也可以修改。而Linux大多定义为64。不过一般来说,很少有人会去修改自己机器的这个值的,这就给了我们机会可以通过ping的回显TTL来大体判断一台机器是什么 *** 作系统。
以我公司2台机器为例
看如下命令
D:Documents and Settingshx>ping 6115293131
Pinging 6115293131 with 32 bytes of data:
Reply from 6115293131: bytes=32 time=21ms TTL=118
Reply from 6115293131: bytes=32 time=19ms TTL=118
Reply from 6115293131: bytes=32 time=18ms TTL=118
Reply from 6115293131: bytes=32 time=22ms TTL=118
Ping statistics for 6115293131:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss
Approximate round trip times in milli-seconds:
Minimum = 18ms, Maximum = 22ms, Average = 20ms
D:Documents and Settingshx>ping 6115210440
Pinging 6115210440 with 32 bytes of data:
Reply from 6115210440: bytes=32 time=28ms TTL=54
Reply from 6115210440: bytes=32 time=18ms TTL=54
Reply from 6115210440: bytes=32 time=18ms TTL=54
Reply from 6115210440: bytes=32 time=13ms TTL=54
Ping statistics for 6115210440:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss
Approximate round trip times in milli-seconds:
Minimum = 13ms, Maximum = 28ms, Average = 19ms
第一台TTL为118,则基本可以判断这是一台Windows机器,从我的机器到这台机器经过了10个节点,因为128-118=10。而第二台应该是台Linux,理由一样64-54=10。
了解了上面的东西,可能有人会有一些疑问,例如以下:
1,不是说包可能走很多路径吗,为什么我看到的4个包TTL都是一样的,没有出现不同?
这是由于包经过的路径是经过了一些最优选择算法来定下来的,在网络拓扑稳定一段时间后,包的路由路径也会相对稳定在一个最短路径上。具体怎么算出来的要去研究路由算法了,不在讨论之列。
2,对于上面例子第二台机器,为什么不认为它是经过了74个节点的Windows机器?因为128-74=54。
对于这个问题,我们要引入另外一个很好的ICMP协议工具。不过首先要声明的是,一个包经过74个节点这个有些恐怖,这样的路径还是不用为好。
要介绍的这个工具是tracert(nix下为traceroute),让我们来看对上面的第二台机器用这个命令的结果
D:Documents and Settingshx>tracert 6115210440
Tracing route to 6115210440 over a maximum of 30 hops
1 13 ms 16 ms 9 ms 10120321
2 9 ms 9 ms 11 ms 219233244105
3 12 ms 10 ms 10 ms 219233238173
4 15 ms 15 ms 17 ms 21923323813
5 14 ms 19 ms 19 ms 2029622273
6 14 ms 17 ms 13 ms 20296222121
7 14 ms 15 ms 14 ms 611528186
8 15 ms 14 ms 13 ms 6115287162
9 16 ms 16 ms 28 ms 611529926
10 12 ms 13 ms 18 ms 611529994
11 14 ms 18 ms 16 ms 6115210440
Trace complete
从这个命令的结果能够看到从我的机器到服务器所走的路由,确实是11个节点(上面说10个好像是我犯了忘了算0的错误了,应该是64-54+1,嘿嘿),而不是128的TTL经过了70多个节点。
既然已经说到这里了,不妨顺便说说关于这两个ICMP命令的高级一点的东西。
首先是ping命令,其实ping有这样一个参数,可以无视 *** 作系统默认TTL值而使用自己定义的值来发送ICMP Request包。
例如还是用那台Linux机器,用以下命令:
D:Documents and Settingshx>ping 6115210440 -i 11
Pinging 6115210440 with 32 bytes of data:
Reply from 6115210440: bytes=32 time=10ms TTL=54
Reply from 6115210440: bytes=32 time=13ms TTL=54
Reply from 6115210440: bytes=32 time=10ms TTL=54
Reply from 6115210440: bytes=32 time=13ms TTL=54
Ping statistics for 6115210440:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 10ms, Maximum = 13ms, Average = 11ms
D:Documents and Settingshx>
这个命令我们定义了发包的TTL为11,而前面我们知道,我到这台服务器是要经过11个节点的,所以这个输出和以前没什么不同。现在再用这个试试看:
D:Documents and Settingshx>ping 6115210440 -i 10
Pinging 6115210440 with 32 bytes of data:
Reply from 611529994: TTL expired in transit
Reply from 611529994: TTL expired in transit
Reply from 611529994: TTL expired in transit
Reply from 611529994: TTL expired in transit
Ping statistics for 6115210440:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
D:Documents and Settingshx>
可以看到,结果不一样了,我定义了TTL为10来发包,结果是TTL expired in transit就是说在到达服务器之前这个包的生命周期就结束了。注意看这句话前面的ip,这个ip恰好是我们前面tracert结果到服务器之前的最后1个ip,包的TTL就是在这里减少到0了,根据我们前面的讨论,当TTL减为0时设备会丢弃包并发送一个TTL过期的ICMP反馈给源地址,这里的结果就是最好的证明。
通过这里再次又证明了从我机器到服务器是经过了11个节点而不是70多个,呵呵。
最后再巩固一下知识,有人可能觉得tracer这个命令很神奇,可以发现一个包所经过的路由路径。其实这个命令的原理就在我们上面的讨论中。
想象一下,如果我给目的服务器发送一个TTL为1的包,结果会怎样?
根据前面的讨论,在包港出发的第一个节点,TTL就会减少为0,这时这个节点就会回应TTL失效的反馈,这个回应包含了设备本身的ip地址,这样我们就得到了路由路径的第一个节点的地址。
因此,我们继续发送TTL=2的包,也就受到第二个节点的TTL失效回应
依次类推,我们一个一个的发现,当最终返回的结果不是TTL失效而是ICMP Response的时候,我们的tracert也就结束了,就是这么简单。
顺便补一句ping命令还有个-n的参数指定要发包的数量,指定了这个数字就会按照你的要求来发包了而不是默认的4个包。如果使用-t参数的话,命令会一直发包直到你强行中止它。

利用组策略里的IP安全设置可以达到楼主的要求
为了说明,我告诉一下我的设置
我的电脑IP
1921680100
路由器
ip
19216801
我通过如何阻止
我和路由器之间的相互PING来演示 *** 作过程
首先
打开组策略
进入计算机配置里面的安全设置,点里面的IP安全策略
创建新的IP策略
下一步
随便输入名称
我就用
"阻止"
然后点
下一步
激活默认响应规则打勾
下一步
验证方法选第一个
V5协议
可能会有个警告,直接确定就好了
编辑属性打勾
完成
回到原来的界面,点新建的名称
"阻止"
他会出来个属性窗口
点击添加
下一步
不指定隧道
下一步
所有网络连结
下一步
V5协议
下一步
这时候应该是个安全规则向导界面
点添加
出来IP筛选列表
点添加
下一步
源地址用我的IP地址
下一步
目标IP地址
用一个特定的IP地址,然后输入你想阻止的IP地址
我这里用19216801
下一步
协议,针对你的游戏服务器用的通讯协议,自己选择,一般都是TCP
我这里使用ICMP
下一步
编辑属性打勾
下一步
出来筛选器属性
镜像一定要打勾,这样就能屏蔽远程IP了
然后点确定
回到了IP筛选器列表,点确定
点你刚刚建立的IP筛选器,如果上面没有命名,那么她的名字应该是
新的IP筛选器列表,点上圈圈下一步,进入筛选器 *** 作
点阻止,下一步
完成
新规则属性
不用搞,只要点确定然后点关闭
现在回到原来的组策略界面
右键点我们刚刚建立的
名称为阻止
,选择指配
这时候,它的策略已指配
变成
是了
我这边现在PING
19216801
已经显示
C:\Documents
and
Settings\Administrator>ping
19216801
Pinging
19216801
with
32
bytes
of
data:
Destination
host
unreachable
Destination
host
unreachable
Destination
host
unreachable
Destination
host
unreachable
Ping
statistics
for
19216801:
Packets:
Sent
=
4,
Received
=
0,
Lost
=
4
(100%
loss),
然后我们试试右键点击
阻止,选择
不指配
C:\Documents
and
Settings\Administrator>ping
19216801
Pinging
19216801
with
32
bytes
of
data:
Reply
from
19216801:
bytes=32
time=1ms
TTL=127
Reply
from
19216801:
bytes=32
time=1ms
TTL=127
Reply
from
19216801:
bytes=32
time=2ms
TTL=127
Reply
from
19216801:
bytes=32
time=1ms
TTL=127
Ping
statistics
for
19216801:
Packets:
Sent
=
4,
Received
=
4,
Lost
=
0
(0%
loss),
Approximate
round
trip
times
in
milli-seconds:
Minimum
=
1ms,
Maximum
=
2ms,
Average
=
1ms
很明显,策略已经成功达到我们要的效果了
打的我好累
恩,再次提醒,上面中的那个镜像一定要选择
不然就是我不能PING通路由器
路由器能PNG通我了
镜像的作用是双向禁止
按照上面的 *** 作,我想楼主应该能达到自己要求的效果了
不过如果对方是动态IP,以上 *** 作就没什么用了
以上


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13443484.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-07
下一篇 2023-08-07

发表评论

登录后才能评论

评论列表(0条)

保存