分享主题:linux,nginx,php,mysql

根据ip获取计算机名,批量通过ip查看电脑名,windows大量查看内网ip的计算机名

vim adminqaz 632℃ 0评论 现在加入小程序俱乐部QQ群:483987340

上一篇文章
我们知道了,
windows内网里,
怎么通过IP能查看到计算机名称
很简单,
使用下面的命令:

ping -a IP

如果你获取几个IP的电脑名称,
使用上面的方法没有问题,
但是如果你是网络管理人员,
公司有几百个甚至几千个IP要查出它们的计算机名,
怎么应该办呢?

下面来详细讲讲……

通过ip查看计算机名

一、 ip对应电脑名规律分析
我们以192.168.1.4这个IP为例,
通过ping -a 192.168.1.4,
得到类似下面的结果

正在 Ping qinziheng [192.168.1.4] 具有 32 字节的数据:
来自 192.168.1.4 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.1.4 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.1.4 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.1.4 的回复: 字节=32 时间<1ms TTL=64

192.168.1.4 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 0ms,最长 = 0ms,平均 = 0ms

其中

正在 Ping qinziheng [192.168.1.4] 具有 32 字节的数据:

里就有我们要的电脑名称 qinziheng

批量通过ip查看电脑名就转化成,
怎么提取

正在 Ping qinziheng [192.168.1.4] 具有 32 字节的数据:

中的IP地址(192.168.1.4)和计算机名(qinziheng)

二、 windows大量查看内网ip的计算机名
我们假设你已经通过自己的方法,
把大量ping -a IP的结果,
保存到文件ips.txt里。

下面讲怎么在大量的ping结果里,
提取IP和对应的计算机名,

这里使用到vim这个文件编辑器,
使用vim打开 ips.txt,
后面的命令都在vim中执行,

2-1)删除没有计算机名的行

v/正在 Ping/d

上面的命令,
可以把没有计算机名称和IP的行都删除
得到类似下面的结果

正在 Ping qinziheng [192.168.1.4] 具有 32 字节的数据:
正在 Ping it.qiziheng.com [192.168.1.5] 具有 32 字节的数据:

2-2)提取IP和对应的电脑名

%s/.\+\s.\+\s\(.\+\)\s\[\(.\+\)\].\+/\2\t\1/g

上面的命令,
能够提取出IP和它相应的电脑名称,
得到类似下面的结果

192.168.1.4 qinziheng
192.168.1.5 it.qinziheng.com

2-3)提取没有主机名的IP
ping -a IP
有时候是获取不到主机名的,
需要再执行下面的命令,

%s/.\+\sPing\s\(.\{-}\)\s.\+/\1/g

这样能把

正在 Ping 192.168.1.4 具有 32 字节的数据:

中的IP提取出来,
得到

192.168.1.4

通过上面3个步骤,
这样不管你有几百个,几千个,甚至上万个IP,
都在短时间内获取到它们的电脑名,
帮你节省大量时间。

由于上面还是要涉及到人工手动操作,
有时间子恒老师再写一个脚本,
自动ping IP获取计算机名。

猛击这里
观看子恒老师《高价值API开发》系列视频
了解实现过程和下载相关源代码

秦子恒公众号

来源:秦子恒博客,欢迎转载分享,请保留出处

根据ip获取计算机名,批量通过ip查看电脑名,windows大量查看内网ip的计算机名链接:https://www.qinziheng.com/vim/8417.htm

现在就加入微信开发QQ群2:483987340,跟同行探讨微信公众平台开发。群满就关闭,你得等到下一个群开通才能加入……

喜欢 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址