基于局域網(wǎng)設(shè)備管理考慮,查找局域網(wǎng)絡(luò)內(nèi)已連接設(shè)備,并獲取到這些設(shè)備的IP地址及設(shè)備名稱,常用工具有Advanced IP Scanner、Nmap等。
Advanced IP Scanner,是一款可靠且免費的網(wǎng)絡(luò)掃描分析LAN,該程序可掃描局域網(wǎng)絡(luò)內(nèi)所有設(shè)備。

Nmap,也就是Network Mapper,最早是Linux下的網(wǎng)絡(luò)掃描和嗅探工具包,是一個網(wǎng)絡(luò)連接端掃描軟件,用來掃描網(wǎng)上開放的網(wǎng)絡(luò)端口,用于網(wǎng)絡(luò)發(fā)現(xiàn)和安全審計的工具,可以檢測當(dāng)前局域網(wǎng)內(nèi)已連接設(shè)備,及目標(biāo)主機(jī)是否在線,端口開放情況,偵測運行的服務(wù)類型及版本信息,偵測操作系統(tǒng)與設(shè)備類型等信息。

Nmap可以在命令行中直接使用,但需要添加環(huán)境變量:

在已安裝Nmap軟件的基礎(chǔ)上,通過Python調(diào)用nmap、netifaces庫,實現(xiàn)局域網(wǎng)內(nèi)已連接設(shè)備的掃描,Python相關(guān)庫下載地址:
https://pypi.org
(若pip install [package_name]無法使用時,推薦使用該方法)
nmap模塊安裝:進(jìn)入已解壓路徑下,通過命令python setup.py install進(jìn)行安裝。


netifaces模塊安裝:進(jìn)入已解壓路徑下,通過命令python setup.py install進(jìn)行安裝。


使用Python源碼如下:
#LanIpScan.py
importnetifaces
importnmap
classLanIpScan:
#獲取網(wǎng)關(guān)
defget_gateways(self):
returnnetifaces.gateways()['default'][netifaces.AF_INET][0]
#獲取到本地網(wǎng)關(guān)地址,這里返回192.168.1.1
#returndict(dict(netifaces.gateways())['default'])[2][0]
#不推薦使用這種方式,原因是該模塊已經(jīng)定義了一些常量及特定的用法
#獲取IP
defget_ip_lists(self,gateway):
ip_lists=[]
foriinrange(1,256):
ip_lists.append('{}{}'.format(gateway[:-1],i))
#更改網(wǎng)關(guān)的最后一項數(shù)據(jù)并添加到列表中
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
#獲取設(shè)備信息
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)
審核編輯:湯梓紅
-
網(wǎng)絡(luò)
+關(guān)注
關(guān)注
14文章
8125瀏覽量
93027 -
ip地址
+關(guān)注
關(guān)注
0文章
308瀏覽量
18831 -
LAN
+關(guān)注
關(guān)注
0文章
233瀏覽量
39080 -
局域網(wǎng)絡(luò)
+關(guān)注
關(guān)注
0文章
18瀏覽量
7785 -
python
+關(guān)注
關(guān)注
57文章
4856瀏覽量
89529
原文標(biāo)題:局域網(wǎng)絡(luò)內(nèi)如何掃描已連接設(shè)備的信息,這三個工具很牛逼,還有Python神腳本!
文章出處:【微信號:網(wǎng)絡(luò)技術(shù)干貨圈,微信公眾號:網(wǎng)絡(luò)技術(shù)干貨圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
Carrier Wi-Fi定義發(fā)布:無線局域網(wǎng)絡(luò)漫游加溫
商用車控制系統(tǒng)局域網(wǎng)絡(luò)(CAN )通信協(xié)議
基于“安芯一號”的小型無線局域網(wǎng)絡(luò)設(shè)計
【天馬星空】zigbee局域網(wǎng)絡(luò)傳輸系統(tǒng)
什么是無線局域網(wǎng)?
CAN (Control Area Network) 控制器局域網(wǎng)絡(luò)是什么?
CAN控制器局域網(wǎng)絡(luò)簡析
以太型局域網(wǎng)絡(luò)系統(tǒng)故障檢測與維護(hù)
無線局域網(wǎng)絡(luò)簡介(WLAN)
配置控制器局域網(wǎng)絡(luò)(CAN)位時序,優(yōu)化系統(tǒng)性能
無線局域網(wǎng)簡介
無線局域網(wǎng)(WLAN)的特征、運營模式與應(yīng)用前景
控制器局域網(wǎng)絡(luò)(CAN)的詳細(xì)介紹

局域網(wǎng)絡(luò)內(nèi)如何掃描已連接設(shè)備的信息
評論