本站源码全部测试通过,配有前台及后台演示图,绿色安全,希望能对大家有所帮助!
  • 收藏本站
  • 网站地图
  • 发布源码
  • 首 页
  • app源码
  • 小程序源码
  • VPS/云主机
  • linux下快速列出局域网中所有主机名(计算机名)的脚本
    时间:2020-07-30 09:36:06来源:模板之家 作者:转载大师 下载:70943 次

    最近有列出局域网中所有主机名的需求(SMB协议里的),但是findsmb命令总是列不全,搜了搜网上也没什么现成的解决方案,于是自己写了个python脚本

    脚本会扫描局域网arp表中所有ip,并尝试解析其主机名,这样可以较为彻底地列出相关信息。

    注意,运行这个脚本需要samba-common-bin和arp-scan这两个包,没有的请先apt install它们。

    用法:直接运行或用python3运行,然后输入需要扫描的网卡名(network interface)(不知道的运行ifconfig可查,一般是ens33、eth0等,出现在该命令输出最左列),然后回车等待,可能需要运行几分钟。

    需要root权限运行!!

    #!/usr/bin/env python3
     
    import os
     
    def shellrun(cmd):
    a = os.popen(cmd)
    b = a.read()
    c = b.split(
    )
    return c
     
    def cutarpresult(lst):
    a = 
    b = 
    for line in lst2::
    if line != :
    a.append(line)
    else:
    break
    for line in a:
    b.append(line.split(	)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 line1.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()

    到此这篇关于linux下快速列出局域网中所有主机名(计算机名)的脚本的文章就介绍到这了

    转载请注明来源:linux下快速列出局域网中所有主机名(计算机名)的脚本
    本文永久链接地址:bencandy.php?fid=3&id=12143
    本文标签:

    版权声明:
    —— 本文内容由互联网用户自发贡献, 本站不拥有所有权, 不承担相关法律责任, 如果发现本站有涉嫌抄袭的内容, 欢迎发送邮件至 :
    —— 1034252225@qq.com 举报, 并提供相关证据, 一经查实, 本站将立刻删除涉嫌侵权内容。

    QQ在线客服

    服务热线

    织梦建站咨询