基于局域網設備管理考慮,查找局域網絡內已連接設備,并獲取到這些設備的IP地址及設備名稱,常用工具有Advanced IP Scanner、Nmap等。
Advanced IP Scanner,是一款可靠且免費的網絡掃描分析LAN,該程序可掃描局域網絡內所有設備。
Nmap,也就是Network Mapper,最早是Linux下的網絡掃描和嗅探工具包,是一個網絡連接端掃描軟件,用來掃描網上開放的網絡端口,用于網絡發(fā)現(xiàn)和安全審計的工具,可以檢測當前局域網內已連接設備,及目標主機是否在線,端口開放情況,偵測運行的服務類型及版本信息,偵測操作系統(tǒng)與設備類型等信息。
Nmap可以在命令行中直接使用,但需要添加環(huán)境變量:
在已安裝Nmap軟件的基礎上,通過Python調用nmap、netifaces庫,實現(xiàn)局域網內已連接設備的掃描,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)) #更改網關的最后一項數(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 #獲取設備信息 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文章
7586瀏覽量
88994 -
ip地址
+關注
關注
0文章
303瀏覽量
17090 -
LAN
+關注
關注
0文章
227瀏覽量
37477 -
局域網絡
+關注
關注
0文章
18瀏覽量
7129 -
python
+關注
關注
56文章
4801瀏覽量
84849
原文標題:局域網絡內如何掃描已連接設備的信息,這三個工具很牛逼,還有Python神腳本!
文章出處:【微信號:網絡技術干貨圈,微信公眾號:網絡技術干貨圈】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論