无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: plusv

[分享] 分享 获取 内网 IP、子网掩码、网关的 EXE 文件

  [复制链接]
 楼主| 发表于 2020-1-21 10:04:00 | 显示全部楼层
liuzhaoyzz 发表于 2020-1-21 09:18
另外想问下楼主,如果有多张物理有线网卡,比如有线网卡1,有线网卡2,你的程序能否判断哪个有线网卡是具 ...

>线网卡是具有internet连接属性的?就是可以连接互联网的?   
网上有爬到文,
应该是可以,
但效果如何,
不知道.

>比如有的人的有线连接网卡改了名字,改成111,关键字就会变,关键字变了,就不能用作“关键字”了,
前面有说过 NIC Type 是 OS 返回值是可信赖的,
所以改名字不影响.

>问题是用Ethernet作为关键字,虚拟网卡也会被找到,难道第一个就是物理网卡?谁能确保是第一个?
>另外多张有线网卡怎么办?怎么能确定第一个找到的就是我所需要的那个网卡?     
我发现,
程序遍历最先抓到的都是 Active NIC,

晚上或凌晨发个过滤版,
用批处理不好处理,
直接在 EXE 处理.
应该可以吧.

PS:
我觉的一般人 PC 上的 NIC 不会太复杂,
我是没打算把程序弄的太复杂,

点评

我测试了Active NIC不一定是第一个。就以我的电脑为例,2222是VPN虚拟网卡,1111是物理网卡,NicInfo显示的第一个ethernet是2222,这是个虚拟网卡,而不是我想要的1111物理网卡。 你的程序和ipconfig显示的结果  详情 回复 发表于 2020-1-21 10:26
回复

使用道具 举报

发表于 2020-1-21 10:26:53 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-1-21 10:43 编辑
plusv 发表于 2020-1-21 10:04
>线网卡是具有internet连接属性的?就是可以连接互联网的?   
网上有爬到文,
应该是可以,

我发现,程序遍历最先抓到的都是 Active NIC,

我测试了Active NIC不一定是第一个。就以我的电脑为例,2222是VPN虚拟网卡(这个是实际存在的,用于通过
华为secoclient VPN客户端连接到公司总部的webserver,不是我为了测试你的程序弄的),1111是物理网卡,NicInfo显示的第一个ethernet是2222,这是个虚拟网卡,而不是我想要的1111物理网卡。
你的程序和ipconfig显示的结果是一致的,虚拟网卡2222排在前面,1111物理网卡排在后面,实际上1111物理网卡是可以连接internet的物理网卡,我要的是这个网卡的ip、掩码(当然2222虚拟网卡也可以联网的)。直接上图吧:
QQ截图20200121102228.jpg QQ截图20200121102315.jpg

现在的问题是,如果按照你说的Nic OS返回值ethernet是可靠的,搭配Nic Description,问题是Description对于不同的网卡是不同的名字,又怎么能够确定这是个物理网卡还是个虚拟网卡?Description里面不同的名字,不能作为“关键字”,一个固定的“关键字”才有意义。
      

回复

使用道具 举报

 楼主| 发表于 2020-1-21 11:07:49 | 显示全部楼层
本帖最后由 plusv 于 2020-1-21 11:11 编辑
liuzhaoyzz 发表于 2020-1-21 10:26
我测试了Active NIC不一定是第一个。就以我的电脑为例,2222是VPN虚拟网卡(这个是实际存在的,用于通 ...

我觉的你不要钻死胡同.

前面有发图,连 MS 都分不清虚拟卡/物理卡,它们都是有线 NIC

除了恶搞外,
一般虚拟卡会有 Virtual/VM/.....  关键字
物理卡通常是大厂牌 Intel/DLink/RealTek/..... 关键字
我的程序只列有 IP 的 NIC 加上有过滤功能(晚点发)
一般 PC 上能有几张 NIC
应该很快能办识出所要的 NIC

PS:
一开始我的程序是从我主程序精简出来,
本意也只是简单的需求,
并没有考虑过于复杂的功能.


回复

使用道具 举报

发表于 2020-1-21 11:14:09 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-1-21 16:27 编辑

楼主,真不是恶搞,前面我已经说了,VPN客户端是实际用的了,虚拟网卡Description  =SVN Adapter V1.0,没有Virtual/VM/关键字,怎么算是恶搞?
QQ截图20200121112220.jpg

另外可能你接触到的有线网卡的名字是很规则的本地连接这种,可是就有的人的有线网卡叫做本地连接2,有的甚至有个空格,叫做“本地连接 2”、“本地连接 3”这种,这是实际存在的情况,这也能算作是恶搞吗?

正因为我觉得ipconfig不太靠谱,所以我写的获取IP、掩码的批处理,尝试放弃ipconfig,用了route print来作为首选方案,感觉要比ipconfig靠谱,微软的很多东西就不一定靠谱,所以要找第三方的来代替,这怎么能算是钻死胡同?一个程序要健壮、要稳定,必须要考虑更多的情况,而不是只能正常地显示本机的情况。

如何区分物理网卡和虚拟网卡应该没那么难,https://www.cnblogs.com/findumars/p/6417929.html,第一个方法应该可以吧,判断MAC的方法我感觉不靠谱,因为MAC可能被修改。






回复

使用道具 举报

 楼主| 发表于 2020-1-22 06:41:44 | 显示全部楼层
liuzhaoyzz 发表于 2020-1-21 10:26
我测试了Active NIC不一定是第一个。就以我的电脑为例,2222是VPN虚拟网卡(这个是实际存在的,用于通 ...

Try
NicInfo/DelFake SVN WireLess
回复

使用道具 举报

 楼主| 发表于 2020-1-22 07:01:15 | 显示全部楼层
更新 :
1. NIC Type 更改 WireLess (WIFI Network) / EtherNet (Local Network)  (与 OS 语言无关,显示 OS 语言文本)
2. 加 过滤关键字
需要的自行下载
NicInfo_Update_3.rar

点评

NicInfo/DelFake WireLess -> 去掉虚拟卡+去掉无线卡=只列物理卡,无法过滤WireLess? [attachimg]410129[/attachimg] NicInfo /type ethernet /DelFake WireLess连用的话,会导致/DelFake WireLess过滤都失效  详情 回复 发表于 2020-1-22 08:53
回复

使用道具 举报

发表于 2020-1-22 07:08:34 来自手机 | 显示全部楼层
本帖最后由 窄口牛 于 2020-1-22 09:10 编辑

usb的呢,好多超薄变形本都是拖个尾巴接的usb的物理网卡,而不是pci的。


抱歉,不过应该看得出来是打错。

点评

>udb的呢 UDB 看不大懂 ?  详情 回复 发表于 2020-1-22 07:44
回复

使用道具 举报

 楼主| 发表于 2020-1-22 07:44:40 | 显示全部楼层
窄口牛 发表于 2020-1-22 07:08
udb的呢,好多超薄变形本都是拖个尾巴接的usb的物理网卡,而不是pci的。

>udb的呢
UDB 看不大懂  ?


回复

使用道具 举报

发表于 2020-1-22 08:53:34 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-1-22 08:58 编辑
plusv 发表于 2020-1-22 07:01
更新 :
1. NIC Type 更改 WireLess (WIFI Network) / EtherNet (Local Network)  (与 OS 语言无关,显示 OS ...

1、NicInfo/DelFake WireLess -> 去掉虚拟卡+去掉无线卡=只列物理卡,无法过滤WireLess?
QQ截图20200122084756.jpg


2、NicInfo /type ethernet /DelFake WireLess连用的话,会导致/DelFake WireLess过滤都失效?
QQ截图20200122085235.jpg
QQ截图20200122085310.jpg

3、我这边显示DNS还是有8个。

回复

使用道具 举报

 楼主| 发表于 2020-1-22 08:58:42 | 显示全部楼层
本帖最后由 plusv 于 2020-1-22 09:18 编辑
liuzhaoyzz 发表于 2020-1-22 08:53
1、NicInfo/DelFake WireLess -> 去掉虚拟卡+去掉无线卡=只列物理卡,无法过滤WireLess?

1.
1F 有说明.
试 35F.

2.
1F 有说明.
语法错误.

3.
前面有说,这是 OS 遍历 DNS 的返回值
我的 PC
1 个物理卡
2 个无线卡
DNS 的返回值是 3 个.
你的状况我就不清楚了.


点评

1、NicInfo/DelFake SVN WireLess这个可以获得唯一的有线网卡ip。 2、NicInfo/DelFake WireLess -> 去掉虚拟卡+去掉无线卡=只列物理卡 这个语法,就是一楼的啊,结果不对啊!还是有无线网卡出现啊! [attachimg]4  详情 回复 发表于 2020-1-22 09:22
回复

使用道具 举报

发表于 2020-1-22 09:22:18 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-1-22 09:33 编辑
plusv 发表于 2020-1-22 08:58
1.
1F 有说明.
试 35F.


1、NicInfo/DelFake SVN WireLess这个可以获得唯一的有线网卡ip。



2、NicInfo/DelFake WireLess -> 去掉虚拟卡+去掉无线卡=只列物理卡
这个语法,就是一楼的啊,结果不对啊!还是有无线网卡出现啊!
QQ截图20200122091904.jpg
QQ截图20200122091947.jpg

3、NicInfo /type ethernet /DelFake WireLess楼主能否指明下语法错在哪里?
我试了/type ethe是一样的结果啊。

4、关于DNS的情况,是内网划分了VLAN,你的程序枚举出了三层交换机(可以看做主路由器)上面的DNS,还有三层交换机下挂的一个无线路由器的DNS设置,问题是跟无线路由器同级别的有线网卡(直接连到三层交换机),不应该有这个无线路由器的DNS,因为直接连到三层交换机上面的电脑,根本就不过无线路由器,有线网卡的DNS应该是3个,无线网卡是4个,ipconfig /all的结果就是对的,你的程序没有把网卡和DNS的一对多的对应关系弄正确。




回复

使用道具 举报

 楼主| 发表于 2020-1-22 09:36:15 | 显示全部楼层
本帖最后由 plusv 于 2020-1-22 09:45 编辑

2.
NicInfo/DelFake WireLess
我 PC 可以,
1F 抓图有.

你换关键字看看
NicInfo/DelFake 无线
NicInfo/DelFake WIFI
NicInfo/DelFake Qual
NicInfo/DelFake Ather
NicInfo/DelFake 9377
......

3.
不接受多个 Argument
/Type 与 /DelFake 这是 2 个 Argument
程序会比对 Argument 与数量,
不符合会列出所有 NIC

4.
这个我无法解决.
前面有说,这是 OS 遍历 DNS 的返回值

点评

都不行,直接上图吧: NicInfo/DelFake WireLess[attachimg]410135[/attachimg] NicInfo/DelFake 无线 [attachimg]410136[/attachimg] NicInfo/DelFake Qual [attachimg]410137[/attachimg] NicInfo/DelFake A  详情 回复 发表于 2020-1-22 09:47
回复

使用道具 举报

发表于 2020-1-22 09:47:04 | 显示全部楼层
plusv 发表于 2020-1-22 09:36
2.
NicInfo/DelFake WireLess
我 PC 可以,

都不行,直接上图吧:
NicInfo/DelFake WireLess QQ截图20200122094426.jpg
NicInfo/DelFake 无线
QQ截图20200122094507.jpg
NicInfo/DelFake Qual

QQ截图20200122094540.jpg
NicInfo/DelFake Ather
QQ截图20200122094610.jpg
NicInfo/DelFake 9377

QQ截图20200122094638.jpg

都不行,搞不掉这个无线。


回复

使用道具 举报

 楼主| 发表于 2020-1-22 09:53:35 | 显示全部楼层
本帖最后由 plusv 于 2020-1-22 10:00 编辑
liuzhaoyzz 发表于 2020-1-22 09:47
都不行,直接上图吧:
NicInfo/DelFake WireLess
NicInfo/DelFake 无线

>NicInfo/DelFake SVN WireLess 这个可以获得唯一的有线网卡ip。
不然就直接取出 /Type 本地
不然就直接取出 /IP  
不然就直接取出 /MAC

点评

用关键字的方法通用性较差。算法应该调整下。 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318} Windows Registry Editor Version 5.00 [HKEY_LOCAL_MA  详情 回复 发表于 2020-1-22 10:08
回复

使用道具 举报

发表于 2020-1-22 10:08:57 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-1-22 10:37 编辑
plusv 发表于 2020-1-22 09:53
>NicInfo/DelFake SVN WireLess 这个可以获得唯一的有线网卡ip。
不然就直接取出 /Type 本地
不然就直 ...


用关键字的方法通用性较差。算法应该调整下。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\{5E6B99C0-8BE8-4159-9FC9-C1B8C60B7BAE}\Connection]
"DefaultNameResourceId"=dword:0000070b
"DefaultNameIndex"=dword:00000000
"Name"="本地连接"
"PnpInstanceID"="PCI\\VEN_10EC&DEV_8136&SUBSYS_385A17AA&REV_07\\01000000364CE00000"

若PnpInstanceID的值以PCI开头,说明是物理网卡,蓝牙网卡是BTH开头,我没有USB无线网卡,不知道USB无线网卡是什么开头的。
MediaSubType为01则是常见网卡,02为无线网卡。
用这样子的方法才是稳定可靠的方法,用关键字的方法肯定通用性较差。不同的电脑本地连接,WIN7里面叫做“本地连接”,WIN10叫做“以太网”,不可能写一个程序或者批处理,拿到不同电脑使用,还要改关键字才能获得正确的结果。


另外一般地物理有线网卡只有一个,建议楼主根据上面注册表的办法确定物理网卡,并且把Local Network直接改成physical Local Network,其他的改成Virtual Local Network,这样子的话不需要那么多参数了,CUI只要得到结果,我们可以用批处理根据显示的结果自己处理,用physical Local Network作为关键字就行了,即使有两个,批处理也能够处理


现在显示的结果,EtherNet与 (Local Network)是等价的,可以看做是同一个关键字,这个关键字对应多个网卡(包括物理网卡和虚拟网卡),已经失去了作为关键字的意义,关键字要能够界定出物理网卡、虚拟网卡最好。很多场合大家都是要取得物理网卡的信息,虚拟网卡信息没什么用。



回复

使用道具 举报

发表于 2020-1-22 11:02:29 来自手机 | 显示全部楼层
usb网卡有有线也有无线,有的非pc类机器自带的有线网卡也是usb的,当然这种非常少。
回复

使用道具 举报

 楼主| 发表于 2020-1-22 11:31:11 | 显示全部楼层
liuzhaoyzz 发表于 2020-1-22 10:08
用关键字的方法通用性较差。算法应该调整下。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ ...

本 EXE 文件
1. 不依赖第 3 方文件或机码.
2. 不依赖 OS 语言,都能正确.
3. 批处理/WinPE/非 GUI 应用.
4. 只秀有 IP 的 NIC,不杂乱.

机码直觉不固定,
且值会跳不固定.

本程序先这样了.

b1.png

b2.png


回复

使用道具 举报

 楼主| 发表于 2020-1-23 03:41:31 | 显示全部楼层
更新 :
1. NIC Index
回复

使用道具 举报

 楼主| 发表于 2020-1-27 20:53:52 | 显示全部楼层
更新 :
/DelFake
Bug 修护,已可稳定过滤.
回复

使用道具 举报

 楼主| 发表于 2020-1-28 05:14:23 | 显示全部楼层
更新 :
加 Connect Check
回复

使用道具 举报

发表于 2020-1-28 07:05:28 来自手机 | 显示全部楼层
上了瘾了,呵呵。
回复

使用道具 举报

发表于 2020-11-13 11:27:03 | 显示全部楼层
下载不了。。。。。。
回复

使用道具 举报

发表于 2020-11-13 16:14:20 | 显示全部楼层
谢谢楼上无私分享,收藏学习!
回复

使用道具 举报

发表于 2020-11-15 20:42:56 来自手机 | 显示全部楼层
多谢多谢多谢多谢
回复

使用道具 举报

发表于 2020-11-16 11:25:31 | 显示全部楼层
本帖最后由 locoman 于 2020-11-16 16:54 编辑

这个工具很不错!感谢作者的无私分享!

但是,为进一步深化提升,建议可以进一步作些优化:

一、对所获取的信息面向BAT作些进一步针对性的优化,主要是方便BAT进一步简单的提取,而不需要BAT再作复杂的正则运算来提取等;
二、对物理网卡的过滤功能再进一步作好虚拟网卡的过滤选项,完全只过滤出真正的物理网卡;
三、增加对“网络连接名”的专项过滤(以网络连接名称为字头,再在下面列出相应所有信息),这样更贴近实际需要;
四、增加单独的“网络连接名”的字段,(之前,网络连接名是放在NIC Type 字段里面的,NIC Type     =EtherNet (Local Network) (本地连接)),建议为:
network connect name =本地连接
NIC Type     =EtherNet (Local Network)
五、增加单独的“传输类型”字段,来区分确定是有线的还是无线的,如:
transmission Type =有线

回复

使用道具 举报

发表于 2020-11-17 21:55:01 来自手机 | 显示全部楼层
多谢分享多谢
回复

使用道具 举报

发表于 2020-11-17 22:11:12 | 显示全部楼层
xxfx
回复

使用道具 举报

发表于 2020-11-29 18:39:27 | 显示全部楼层

收藏了,谢谢分享
回复

使用道具 举报

发表于 2020-11-30 19:51:06 来自手机 | 显示全部楼层
多谢分享多谢
回复

使用道具 举报

发表于 2020-12-18 19:51:36 | 显示全部楼层
学习了,能获取离线系统的IP吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-3-29 07:07

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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