无忧启动论坛

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

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

  [复制链接]
1#
发表于 2020-1-17 07:48:57 来自手机 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-1-17 08:03 编辑

谢谢楼主分享!楼主的这个小程序能够遍历并显示有ip的网卡信息,请问下能否修改下,用英文让每个网卡增加显示是有线网卡,无线网卡(就是显示网卡的类别),我主要是想用来提取物理有线网卡(如果有多张有线网卡,比如物理网卡和各种虚拟网卡)的ip、掩码。

另外,为什么显示的网关和DHCPserver也有子网掩码255.255.255.255?似乎网关和DHCPserver的子网掩码不对,一般地来说网关和DHCPserver的子网掩码应该和客户机的相同吧,可以去掉。


点评

>我主要是想用来提取物理有线网卡(如果有多张有线网卡,比如物理网卡和各种虚拟网卡)的ip、掩码。 [attachimg]409804[/attachimg]  详情 回复 发表于 2020-1-18 00:18
>用英文让每个网卡增加显示是有线网卡,无线网卡(就是显示网卡的类别) 好,将修改. >一般地来说网关和DHCPserver的子网掩码应该和客户机的相同吧,可以去掉。 好,将修改.  详情 回复 发表于 2020-1-17 16:35
liuzhaoyzz版主,我给您传2个收集的类似工具,看您是否能用上。  详情 回复 发表于 2020-1-17 08:50
回复

使用道具 举报

2#
发表于 2020-1-17 10:18:47 | 显示全部楼层
wych12 发表于 2020-1-17 08:50
liuzhaoyzz版主,我给您传2个收集的类似工具,看您是否能用上。

谢谢分享,你这两个批处理可以枚举所有的网卡信息,挺好的。我现在只需要枚举有线网卡的。
回复

使用道具 举报

3#
发表于 2020-1-17 10:19:24 | 显示全部楼层
kgenxp 发表于 2020-1-17 10:04
win10 x64 17763无信息窗口

先运行cmd,然后把文件NicInfo.exe文件拖上去。
回复

使用道具 举报

4#
发表于 2020-1-18 00:11:21 来自手机 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-1-18 00:15 编辑

楼主辛苦了!有线无线类型显示的内容不细详细,没法调用,只显示了ethernet,wifinet,在WIN10里面会显示本地连接1,本地连接2,还有物理网卡,显示的内容都是不同的,你对比下ipconfig就知道了,比如我要获取当前本地连接的ip 掩码,你这个小程序里面怎么界定是本地连接的?都是显示的ethernet,怎么知道不是虚拟网卡的?应该写清楚ethernet1,ethernet2,....另外,DNS的显示应该只有主DNS,备用DNS,你这里面怎么是三个IP?
回复

使用道具 举报

5#
发表于 2020-1-18 00:24:39 来自手机 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-1-18 06:32 编辑

我知道啊,如果我想从你的程序返回值里面提取,批处理用什么关键字搜索呢?都是ethernet,没法区分,不同的物理网卡编号都相同,和不同的虚拟网卡也难以界定。你看下ipconfig的返回值就很好界定,写的是本地连接:,vmware什么的。

点评

NIC Type 是 OS 返回值,应该是可信的. 再加上 Description 可参考.  详情 回复 发表于 2020-1-18 00:30
回复

使用道具 举报

6#
发表于 2020-1-19 09:53:55 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-1-19 09:55 编辑
plusv 发表于 2020-1-18 00:30
NIC Type 是  OS 返回值,应该是可信的.
再加上 Description 可参考.

楼主,有空的时候能不能在输出的信息里面,把网络类型ethernet,修改成为容易界定区别的关键字,在同一行里面。类似ipconfig。

现在的版本,虽然也可以界定,但不是在同一行里面,批处理能够获取,但是稍微麻烦点。


保留这两个版本吧。旧版本不要删除。


QQ截图20200119095212.png (32.57 KB, 下载次数: 201)

QQ截图20200119095212.png

点评

更新 : 1. NIC Type 更改類似 IPConfig(與 OS 語言無關,顯示 OS 語言文本) 2. 加 Link Speed  详情 回复 发表于 2020-1-21 03:38
回复

使用道具 举报

7#
发表于 2020-1-21 08:00:50 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-1-21 08:11 编辑
plusv 发表于 2020-1-21 03:38
更新 :
1. NIC Type 更改類似 IPConfig(與 OS 語言無關,顯示 OS 語言文本)
2. 加 Link Speed

楼主辛苦了!

NIC Type     =EtherNet (本地连接),
NIC Type     =WireLess (无线网络连接),


这几个字里面,本地连接能否改成英文(比如Local network)?
无线网络连接能否改成英文(比如WIFI network)?


以实现不同的语言(比如简体中文、繁体中文、英文)版本的系统可以通过同一个关键字查找。

另外,DNS Server似乎不太对,怎么有8个?一般应该是2个啊?192.168.x.x这样的不是DNS啊。
DNS  Server  =IP:192.168.1.1  IP:192.168.206.1   IP:192.168.133.2

另外希望这几个版本都保留,给不同的网友不同的需求用。谢谢!        


QQ截图20200121080349.jpg (100.36 KB, 下载次数: 189)

QQ截图20200121080349.jpg

点评

怕有人又会反应, 我看采中英文本. NIC Type =EtherNet (本地连接)(Local network) NIC Type =WireLess (无线网络连接)(WIFI network) 晚上或凌晨發個過濾版, 用批處理不好處理, 直接在 EXE 處理.  详情 回复 发表于 2020-1-21 08:28
回复

使用道具 举报

8#
发表于 2020-1-21 08:39:07 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-1-21 08:56 编辑
plusv 发表于 2020-1-21 08:28
怕有人又会反应,
我看采中英文本.



刚才用ipconfig /all看了下,无线的dns有4个。(包含有192.168.1.1这样子的,实际上是无线路由器的地址)

有线的DNS有3个:




你的程序,似乎把有线和无线网卡的dns混到一起了?DNS应该与网卡对应起来才好。不一定要局限于2个,与ipconfig /all输出的信息一致就好,最好不显示路由器的地址192.168.x.x这样子的(有的路由器地址可能是10.7.x.x,172.16.x.x不能强制过滤,应该有效合理地想办法过滤,路由器ip地址一般与客户机电脑ip在同一个网段,一般地前两个相同,第三位就不一定相同了,比如客户机地址是10.7.21.78,路由器可能是10.7.20.1,由于掩码255.255.254.0,他们仍然可能是同一网段),应该显示“真实的”DNS,比如上面的截图那种。

点评

>无线的dns有4个。(包含有192.168.1.1这样子的,实际上是无线路由器的地址) 通常 DHCP 開, DNS/Gateway 都會指到同 1 台,如 192.168.1.1  详情 回复 发表于 2020-1-21 08:54
回复

使用道具 举报

9#
发表于 2020-1-21 09:18:18 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-1-21 09:40 编辑
plusv 发表于 2020-1-21 08:54
>无线的dns有4个。(包含有192.168.1.1这样子的,实际上是无线路由器的地址)
通常 DHCP 開,
DNS/Gatew ...

另外想问下楼主,如果有多张物理有线网卡,比如有线网卡1,有线网卡2,你的程序能否判断哪个有线网卡是具有internet连接属性的?就是可以连接互联网的?   

另外,我再提个问题,比如有的人的有线连接网卡改了名字,改成111,关键字就会变,关键字变了,就不能用作“关键字”了,“关键字”应该固定下来,比如用Ethernet,就可以作为关键字,问题是用Ethernet作为关键字,虚拟网卡也会被找到,难道第一个就是物理网卡?谁能确保是第一个?另外多张有线网卡怎么办?怎么能确定第一个找到的就是我所需要的那个网卡?     




QQ截图20200121093648.jpg (86.58 KB, 下载次数: 201)

QQ截图20200121093648.jpg

点评

>线网卡是具有internet连接属性的?就是可以连接互联网的? 网上有爬到文, 应该是可以, 但效果如何, 不知道. >比如有的人的有线连接网卡改了名字,改成111,关键字就会变,关键字变了,就不能用作“关键字  详情 回复 发表于 2020-1-21 10:04
回复

使用道具 举报

10#
发表于 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虚拟网卡也可以联网的)。直接上图吧:


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

点评

Try NicInfo/DelFake SVN WireLess  详情 回复 发表于 2020-1-22 06:41
我觉的你不要钻死胡同. 前面有发图,连 MS 都分不清虚拟卡/物理卡,它们都是有线 NIC 除了恶搞外, 一般虚拟卡会有 Virtual/VM/QEM..... 关键字 物理卡通常是大厂牌 Intel/DLink/RealTek/..... 关键字 我的程  详情 回复 发表于 2020-1-21 11:07
回复

使用道具 举报

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

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


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

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

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






回复

使用道具 举报

12#
发表于 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?



2、NicInfo /type ethernet /DelFake WireLess连用的话,会导致/DelFake WireLess过滤都失效?



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

点评

1. 1F 有说明. 试 35F. 2. 1F 有说明. 语法错误.  详情 回复 发表于 2020-1-22 08:58
回复

使用道具 举报

13#
发表于 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 -> 去掉虚拟卡+去掉无线卡=只列物理卡
这个语法,就是一楼的啊,结果不对啊!还是有无线网卡出现啊!



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

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




点评

2. NicInfo/DelFake WireLess 我 PC 可以, 1F 抓图有. 你换关键字看看 NicInfo/DelFake 无线 NicInfo/DelFake Qual NicInfo/DelFake Ather NicInfo/DelFake 9377 ...... 3. 不接受多个 Argument /Ty  详情 回复 发表于 2020-1-22 09:36
回复

使用道具 举报

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

都不行,直接上图吧:
NicInfo/DelFake WireLess
NicInfo/DelFake 无线

NicInfo/DelFake Qual


NicInfo/DelFake Ather

NicInfo/DelFake 9377



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


点评

NicInfo/DelFake SVN WireLess 这个可以获得唯一的有线网卡ip。 不然就直接取出 /Type 本地  详情 回复 发表于 2020-1-22 09:53
回复

使用道具 举报

15#
发表于 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)是等价的,可以看做是同一个关键字,这个关键字对应多个网卡(包括物理网卡和虚拟网卡),已经失去了作为关键字的意义,关键字要能够界定出物理网卡、虚拟网卡最好。很多场合大家都是要取得物理网卡的信息,虚拟网卡信息没什么用。



点评

本 EXE 文件 1. 不依赖第 3 方文件或机码. 2. 不依赖 OS 语言,都能正确. 3. 批处理/WinPE/非 GUI 应用. 4. 只秀有 IP 的 NIC,不杂乱. 机码直觉不固定, 且值会跳不固定. 本程序先这样了. [attachimg]41  详情 回复 发表于 2020-1-22 11:31
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-12 14:28

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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