如何调用python-nmap来实现扫描局域网存活主机(代码)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何调用python-nmap来实现扫描局域网存活主机(代码),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2002字,纯文字阅读大概需要3分钟。
内容图文
![如何调用python-nmap来实现扫描局域网存活主机(代码)](/upload/InfoBanner/zyjiaocheng/427/c74214bda4cc461cb9b11632cd288df9.jpg)
使用环境:Raspberry 3b+ +netifaces+python-nmap+nmap
调用netifaces自动获取ip地址:
def get_gateways(): return netifaces.gateways()['default'][netifaces.AF_INET][0]
将ip地址生成一个网段中所有ip地址的列表:
def get_ip_lists(ip): ip_lists = [] for i in range(1, 256): ip_lists.append('{}{}'.format(ip[:-1], i)) return ip_lists
主要实现代码及数据分割:
def main(ip=None): ip=get_gateways() ip_lists=get_ip_lists(ip) nmScan,temp_ip_lists,hosts = nmap.PortScanner(),[],ip[:-1]+'0/24' ret = nmScan.scan(hosts=hosts, arguments='-sP') print('扫描时间:'+ret['nmap']['scanstats']['timestr']+'\n命令参数:'+ret['nmap']['command_line']) for ip in ip_lists: print('ip地址:'+ip+':') if ip not in ret['scan']: temp_ip_lists.append(ip) print('扫描超时') else:print('已扫描到主机,主机名:'+ret['scan'][ip]['hostnames'][0]['name']) print(str(hosts) +' 网络中的存活主机:') for ip in temp_ip_lists:ip_lists.remove(ip) for ip in ip_lists:print(ip)
完整代码:
#!/usr/bin/python #_*_ coding:utf8 _*_ import netifaces,nmap def get_gateways(): return netifaces.gateways()['default'][netifaces.AF_INET][0] def get_ip_lists(ip): ip_lists = [] for i in range(1, 256): ip_lists.append('{}{}'.format(ip[:-1], i)) return ip_lists def main(ip=None): ip=get_gateways() ip_lists=get_ip_lists(ip) nmScan,temp_ip_lists,hosts = nmap.PortScanner(),[],ip[:-1]+'0/24' ret = nmScan.scan(hosts=hosts, arguments='-sP') print('扫描时间:'+ret['nmap']['scanstats']['timestr']+'\n命令参数:'+ret['nmap']['command_line']) for ip in ip_lists: print('ip地址:'+ip+':') if ip not in ret['scan']: temp_ip_lists.append(ip) print('扫描超时') else:print('已扫描到主机,主机名:'+ret['scan'][ip]['hostnames'][0]['name']) print(str(hosts) +' 网络中的存活主机:') for ip in temp_ip_lists:ip_lists.remove(ip) for ip in ip_lists:print(ip) if __name__ == '__main__': main()
实验截图:
以上就是如何调用python-nmap来实现扫描局域网存活主机(代码)的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是互联网集市为您收集整理的如何调用python-nmap来实现扫描局域网存活主机(代码)全部内容,希望文章能够帮你解决如何调用python-nmap来实现扫描局域网存活主机(代码)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。