linux下快速列出局域網(wǎng)中所有主機(jī)名的腳本的方法-創(chuàng)新互聯(lián)

這篇文章主要講解了linux下快速列出局域網(wǎng)中所有主機(jī)名的腳本的方法,內(nèi)容清晰明了,對(duì)此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會(huì)有幫助。

創(chuàng)新互聯(lián)主營(yíng)荊州網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,手機(jī)APP定制開發(fā),荊州h5成都微信小程序搭建,荊州網(wǎng)站營(yíng)銷推廣歡迎荊州等地區(qū)企業(yè)咨詢

最近有列出局域網(wǎng)中所有主機(jī)名的需求(SMB協(xié)議里的),但是findsmb命令總是列不全,搜了搜網(wǎng)上也沒什么現(xiàn)成的解決方案,于是自己寫了個(gè)python腳本

腳本會(huì)掃描局域網(wǎng)arp表中所有ip,并嘗試解析其主機(jī)名,這樣可以較為徹底地列出相關(guān)信息。

注意,運(yùn)行這個(gè)腳本需要samba-common-bin和arp-scan這兩個(gè)包,沒有的請(qǐng)先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()

網(wǎng)站標(biāo)題:linux下快速列出局域網(wǎng)中所有主機(jī)名的腳本的方法-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://bm7419.com/article14/hdege.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、小程序開發(fā)、搜索引擎優(yōu)化、服務(wù)器托管、網(wǎng)頁(yè)設(shè)計(jì)公司、外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)