linux下快速列出局域網(wǎng)中所有主機(jī)名(計(jì)算機(jī)名)的腳本
最近有列出局域網(wǎng)中所有主機(jī)名的需求(SMB協(xié)議里的),但是findsmb命令總是列不全,搜了搜網(wǎng)上也沒什么現(xiàn)成的解決方案,于是自己寫了個(gè)python腳本
腳本會掃描局域網(wǎng)arp表中所有ip,并嘗試解析其主機(jī)名,這樣可以較為徹底地列出相關(guān)信息。
注意,運(yùn)行這個(gè)腳本需要samba-common-bin和arp-scan這兩個(gè)包,沒有的請先apt install它們。
用法:直接運(yùn)行或用python3運(yùn)行,然后輸入需要掃描的網(wǎng)卡名(network interface)(不知道的運(yùn)行ifconfig可查,一般是ens33、eth0等,出現(xiàn)在該命令輸出最左列),然后回車等待,可能需要運(yùn)行幾分鐘。
需要root權(quán)限運(yùn)行??!
#!/usr/bin/env python3 import os def shellrun(cmd): a = os.popen(cmd) b = a.read() c = b.split('\n') return c def cutarpresult(lst): a = [] b = [] for line in lst[2:]: if line != '': a.append(line) else: break for line in a: b.append(line.split('\t')[0]) return b def commandmaker(ip): return 'nmblookup -A ' + ip def getrst(iplist): rst = [] for ip in iplist: rst.append(shellrun(commandmaker(ip))) return rst def washrst(rst): rtn = [] for line in rst: if line[1].split(' ')[1] != 'reply': rtn.append(line[:-1]) return rtn def main(): interface = input('which interface to use: ') iplist = cutarpresult(shellrun('arp-scan -I ' + interface + ' -l')) for rs in washrst(getrst(iplist)): for line in rs: print(line) if __name__ == '__main__': main()
到此這篇關(guān)于linux下快速列出局域網(wǎng)中所有主機(jī)名(計(jì)算機(jī)名)的腳本的文章就介紹到這了,更多相關(guān)linux 列出局域網(wǎng)中所有主機(jī)名內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解Linux使用ss命令結(jié)合zabbix對socket做監(jiān)控
zabbix是一個(gè)基于WEB界面的提供分布式系統(tǒng)監(jiān)視以及網(wǎng)絡(luò)監(jiān)視功能的企業(yè)級的開源解決方案。這篇文章主要分為三塊進(jìn)行說明:介紹ss命令;對機(jī)器總體的socket進(jìn)行監(jiān)控;某些機(jī)器連接該機(jī)器的數(shù)量進(jìn)行監(jiān)控2021-06-06阿里云ECS實(shí)例設(shè)置用戶root密碼和遠(yuǎn)程連接的方法
這篇文章主要介紹了阿里云ECS實(shí)例設(shè)置用戶root密碼和遠(yuǎn)程連接的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07在Windows的Apache服務(wù)器上配置對PHP和CGI的支持
這篇文章主要介紹了在Windows的Apache服務(wù)器上配置對PHP和CGI的支持,其中CGI腳本文中演示的為Perl示例,需要的朋友可以參考下2015-07-07centos6.5服務(wù)器安裝Nginx設(shè)置服務(wù)和開機(jī)自啟的方法
本篇文章主要介紹了centos6.5服務(wù)器安裝Nginx設(shè)置服務(wù)和開機(jī)自啟的方法,具有一定的參考價(jià)值,有興趣的小伙伴可以了解一下2017-08-08linux系統(tǒng)中rsync+inotify實(shí)現(xiàn)服務(wù)器之間文件實(shí)時(shí)同步
這篇文章主要介紹了rsync+inotify實(shí)現(xiàn)服務(wù)器之間文件實(shí)時(shí)同步,需要的朋友可以參考下2014-11-11