找回密码
 加入
搜索
查看: 6380|回复: 16

[网络通信] 【已解决】为什么IP地址没有连接 也可以PING通

[复制链接]
发表于 2021-8-7 17:24:42 | 显示全部楼层 |阅读模式
本帖最后由 itzyx 于 2021-8-8 21:05 编辑

想写一个简单的小程序,首先需要先选择对应的以太网名称,然后更改其网段1~10,然后从1~255 看是否PING通,本来应该是 8网段才可以PING通 ,不知道为什么PING的结果显示2~5网段都可以PING通,各位大佬这是为什么?
然后单线程的PING  IP就是这么慢嘛(1~10网段ping完要好几分钟),有没有提速的方法,我也搜索了相关标题,可惜P版的多线程PING 我现在还看不懂。下面是代码,希望大佬们能指点迷津,万分感谢!
#include <WindowsConstants.au3>

Local $oClassSet, $oClass, $oLocator
Local $oService, $sMesStr


$CreateName = "Obtaining an IP address"
$Form1 = GUICreate($CreateName, 420, 120, -1, -1)
$Group1 = GUICtrlCreateGroup("", 8, 0, 400, 73)
$Label1 = GUICtrlCreateLabel("网络适配器:", 16, 20, 100, 17)
$Combo1 = GUICtrlCreateCombo("", 100, 16, 300, 100, 0003)
$button1 = GUICtrlCreateButton("Ping", 340, 80, 60, 30, $WS_BORDER)

GUISetState(@SW_SHOW)

$oLocator = ObjCreate("WbemScripting.SWbemLocator")
$oService = $oLocator.ConnectServer

$oClassSet = $oService.ExecQuery("Select * From Win32_NetworkAdapter Where NetConnectionID IS NOT NULL")

For $oClass In $oClassSet
        $sMesStr = $oClass.NetConnectionID
        GUICtrlSetData($Combo1, $sMesStr)
Next


While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case -3
                        Exit
                Case $button1
                        $COM = GUICtrlRead($Combo1)
                        GUIDelete($Form1)
                        _PING()
                        ExitLoop
        EndSwitch
WEnd

Func _PING()
        Local $hTimer = TimerInit()
        For $WAN = 1 To 10
                Run(@ComSpec & ' /c netsh -c interface ip set address "' & $COM & '" static 192.168.' & $WAN & '.155 255.255.255.0              ', "", @SW_HIDE)
                For $i = 1 To 255
                        $ip = Ping('192.168.' & $WAN & '.' & $i, 5)
                        If $ip <> 0  Then ExitLoop 2
                Next
        Next
        Local $fDiff = TimerDiff($hTimer)
        $fDiff = Round($fDiff / 1000, 2)
        MsgBox(64, '提示', '共耗时:' & $fDiff & 's,IP:192.168.' & $WAN & '.' & $i)
EndFunc   ;==>_PING

发表于 2021-8-8 08:52:53 | 显示全部楼层
itzyx 发表于 2021-8-7 22:43
谢谢大佬,但是多进程这方面我不是太懂,能否稍微举个例子 ,万分感谢


多用论坛的 搜索

https://www.autoitx.com/forum.ph ... &highlight=ping
发表于 2021-8-7 17:41:17 | 显示全部楼层
当前网络不是一级路由吧
 楼主| 发表于 2021-8-7 17:58:06 | 显示全部楼层
haijie1223 发表于 2021-8-7 17:41
当前网络不是一级路由吧

发哥,我是用交换机转接的,是不是PING通的 压根就不是电脑的IP啊?但是我换个电脑直连的话,PING通的还是不对   结果显示的IP地址是 192.168.1.155   
发表于 2021-8-7 18:00:54 | 显示全部楼层
因为你的上级路由中,有这个IP终端,所以ping通也是正常的。我现在的网段是192.168.199.xx,但是我ping192.168.1.1可以ping通,因为我的上级路由器是192.168.1.1,所有的192.168.1.xxx的终端,我在当前的199网段下都可以ping通。
 楼主| 发表于 2021-8-7 18:11:43 | 显示全部楼层
haijie1223 发表于 2021-8-7 18:00
因为你的上级路由中,有这个IP终端,所以ping通也是正常的。我现在的网段是192.168.199.xx,但是我ping192. ...

发哥,那能不能增加个筛选,获取上级路由器的网段,比如上级路由器是192.168.1.1   就不PING 1网段,只PING 上位机其他的网段
发表于 2021-8-7 18:27:50 | 显示全部楼层
itzyx 发表于 2021-8-7 18:11
发哥,那能不能增加个筛选,获取上级路由器的网段,比如上级路由器是192.168.1.1   就不PING 1网段,只PI ...

这个我就不懂了,等其他给你答案吧。
发表于 2021-8-7 20:15:31 | 显示全部楼层
可以使用多进程去ping,用一个主进程,给子进程传参数,然后子进程再把结果传回主进程,AU3自带ping函数我记得默认是有超时时间可以设置的
发表于 2021-8-7 21:20:48 | 显示全部楼层
我觉得不如直接说说最终的目的是什么,我对这个操作有点迷糊...
 楼主| 发表于 2021-8-7 22:43:26 | 显示全部楼层
Xxkwwz 发表于 2021-8-7 20:15
可以使用多进程去ping,用一个主进程,给子进程传参数,然后子进程再把结果传回主进程,AU3自带ping函数我 ...

谢谢大佬,但是多进程这方面我不是太懂,能否稍微举个例子 ,万分感谢
 楼主| 发表于 2021-8-7 22:49:55 | 显示全部楼层
邪恶海盗 发表于 2021-8-7 21:20
我觉得不如直接说说最终的目的是什么,我对这个操作有点迷糊...

大佬,是这样子的,我有个设备,可以直连上位机或者通过交换机连接,现在 设备的IP地址我不知道,需要我手动 更改上位机的网段,来ping IP(1~255),如果可以ping 通,就能知道该设备的  IP地址,所以我用AU3自动改上位机 以太网的网段来PING, 可是 2~5网段都可以PING通,无法精准定位设备的IP地址,我现在的目的 就是希望能够筛选其他IP,精准定位到该设备的IP 地址
 楼主| 发表于 2021-8-7 22:50:27 | 显示全部楼层
haijie1223 发表于 2021-8-7 18:27
这个我就不懂了,等其他给你答案吧。

好的,谢谢发哥  
 楼主| 发表于 2021-8-8 11:17:59 | 显示全部楼层
绿色风 发表于 2021-8-8 08:52
多用论坛的 搜索

https://www.autoitx.com/forum.php?mod=viewthread&tid=12666&highlight=ping

好的 谢谢风哥,我其他都下载了,以为这个帖子没源码呢  
发表于 2021-8-8 11:57:40 | 显示全部楼层
itzyx 发表于 2021-8-7 22:49
大佬,是这样子的,我有个设备,可以直连上位机或者通过交换机连接,现在 设备的IP地址我不知道,需要我 ...

断开其它连接的设备,只连接这个未知IP的设备来PING不就行了?
发表于 2021-8-8 12:10:20 | 显示全部楼层
https://www.azofreeware.com/2006/03/angry-ip-scanner-221.html   

直接下載這軟體慢慢try,上位機與其他聯網設備斷開,只跟上位機連線抓ip看看。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-23 02:05 , Processed in 0.075801 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表