linux下快速列出局域网中所有主机名(计算机名)的脚本

作者:RDX 时间:2023-07-22 14:13:38 

最近有列出局域网中所有主机名的需求(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('\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()

来源:https://www.cnblogs.com/jz3025/archive/2020/07/29/13395728.html

标签:linux,局域网,主机名
0
投稿

猜你喜欢

  • 推一把之名人效应带给我们的思考

    2009-03-02 09:26:00
  • Windows2003服务器安装及设置教程—文件及文件夹权限篇四—给文件夹设置权限三

    2010-02-02 18:10:00
  • ProFtpd快速指南(六)

    2007-09-27 13:42:00
  • 从译言预测有道谷歌的云翻译

    2010-01-06 13:23:00
  • 消息称谷歌Chrome操作系统本周三正式发布

    2009-11-16 08:18:00
  • 利用腾讯微博应用频道给博客打造个性微博侧边栏

    2011-06-08 19:04:00
  • 加速WordPress

    2010-03-21 13:38:00
  • 360总裁齐向东:咱员工福利待遇业内肯定领先

    2009-11-05 15:35:00
  • 阿江: 网站要专业,更要简单

    2008-11-10 13:11:00
  • 雅虎挑战Google PR

    2008-01-22 12:23:00
  • DNS MX记录一定要放在A记录之前

    2007-12-04 10:07:00
  • Linux系统下virtuoso数据库安装与使用详解

    2023-07-31 17:19:22
  • 08年手机支付用户将达3300万 亚洲居首

    2008-05-05 12:28:00
  • 为了爱,为了我的家,我要赚钱

    2007-11-23 11:47:00
  • 使用IIS的Url重定向功能防止数据库被下载

    2008-02-28 12:47:00
  • 详解linux dma驱动编写

    2023-07-27 15:14:09
  • 网络实战建域控制器时别忽视DNS设置

    2010-01-20 19:21:00
  • 阿里云服务器 jdk1.8 安装配置教程

    2023-06-27 23:06:44
  • 酷我音乐盒歌词秀 绚丽动感新感受

    2009-10-28 17:05:00
  • 影响网站排名的五大因素

    2008-01-15 12:07:00
  • asp之家 网站运营 m.aspxhome.com