基于局域网设备管理考虑,查找局域网络内已连接设备,并获取到这些设备的IP地址及设备名称,常用工具有Advanced IP Scanner、Nmap等。
Advanced IP Scanner,是一款可靠且免费的网络扫描分析LAN,该程序可扫描局域网络内所有设备。

Nmap,也就是Network Mapper,最早是Linux下的网络扫描和嗅探工具包,是一个网络连接端扫描软件,用来扫描网上开放的网络端口,用于网络发现和安全审计的工具,可以检测当前局域网内已连接设备,及目标主机是否在线,端口开放情况,侦测运行的服务类型及版本信息,侦测操作系统与设备类型等信息。

Nmap可以在命令行中直接使用,但需要添加环境变量:

在已安装Nmap软件的基础上,通过Python调用nmap、netifaces库,实现局域网内已连接设备的扫描,Python相关库下载地址:
https://pypi.org
(若pip install [package_name]无法使用时,推荐使用该方法)
nmap模块安装:进入已解压路径下,通过命令python setup.py install进行安装。


netifaces模块安装:进入已解压路径下,通过命令python setup.py install进行安装。


使用Python源码如下:
#LanIpScan.py
importnetifaces
importnmap
classLanIpScan:
#获取网关
defget_gateways(self):
returnnetifaces.gateways()['default'][netifaces.AF_INET][0]
#获取到本地网关地址,这里返回192.168.1.1
#returndict(dict(netifaces.gateways())['default'])[2][0]
#不推荐使用这种方式,原因是该模块已经定义了一些常量及特定的用法
#获取IP
defget_ip_lists(self,gateway):
ip_lists=[]
foriinrange(1,256):
ip_lists.append('{}{}'.format(gateway[:-1],i))
#更改网关的最后一项数据并添加到列表中
returnip_lists
#返回列表['192.168.1.1',-->'192.168.1.255']
#查看IP地址
defscan_ip_survial(self,ip):
nmScan=nmap.PortScanner()
nmScan.scan(hosts=ip,arguments='-sP')
try:
nmScan[ip]
return{'ScanInfo:':nmScan[ip]}
except:
KeyError
return"此IP地址无效",ip
#获取设备信息
defget_all_devices(self,ip_lists):
survial_devices=[]
foripinip_lists:
scan_result=LanIpScan.scan_ip_survial(ip)
ifscan_result:
survial_devices.append(scan_result)
print(scan_result)
returnsurvial_devices
if__name__=='__main__':
LanIpScan=LanIpScan()
gateway=LanIpScan.get_gateways()
ip_lists=LanIpScan.get_ip_lists(gateway)
LanIpScan.get_all_devices(ip_lists)
审核编辑:汤梓红
-
网络
+关注
关注
14文章
7556浏览量
88734 -
ip地址
+关注
关注
0文章
301浏览量
17032 -
LAN
+关注
关注
0文章
227浏览量
37416 -
局域网络
+关注
关注
0文章
18浏览量
7109 -
python
+关注
关注
56文章
4793浏览量
84631
原文标题:局域网络内如何扫描已连接设备的信息,这三个工具很牛逼,还有Python神脚本!
文章出处:【微信号:网络威廉希尔官方网站 干货圈,微信公众号:网络威廉希尔官方网站 干货圈】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
Carrier Wi-Fi定义发布:无线局域网络漫游加温
基于“安芯一号”的小型无线局域网络设计
【天马星空】zigbee局域网络传输系统
CAN控制器局域网络简析
以太型局域网络系统故障检测与维护
基于手机无线局域网的架构与应用
无线局域网络简介(WLAN)
无线局域网简介
控制器局域网络(CAN)的详细介绍

局域网络内如何扫描已连接设备的信息
评论