怎么用python扫描主机_如何调用python-nmap来实现扫描局域网存活主机(代码)
本篇文章给大家带来的内容是关于如何调用python-nmap来实现扫描局域网存活主机(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
使用环境: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扫描主机_如何调用python-nmap来实现扫描局域网存活主机(代码)相关推荐
- c调用python函数_python - Linux C调用Python 函数
1.Python脚本,名称为py_add.py def add(a=,b=): print('Function of python called!') print('a = ',a) print('b ...
- python 局域网扫描_Python 简化版扫描局域网存活主机
[code]''' Python 简化版局域网扫描获取存活主机IP by 郑瑞国 1.ping指定IP判断主机是否存活 2.ping所有IP获取所有存活主机 #注: 若在Linux系统下 ping - ...
- nmap扫描局域网存活主机_安全工程师都在用的网络扫描软件,巧用ARP协议发现主机。第二节...
前情回顾 前一节我们介绍了Nmap的安装和简单实用.不知道小伙伴们有什么疑问?如果有的话请在评论区留言,或者私信都可以.一定尽力解答哟! 在学习本节之前,我们一起回顾一下网络基本知识,网络分层模型大家 ...
- nmap扫描局域网存活主机_第十五天Nmap篇:每日一练之Kali Linux面试题
31.[不定项]Kali Linux中,Nmap网络扫描工具功能包括( ) A.主机发现 B.端口扫描 C.版本探测 D.OS探测 (点击空白处查看内容) ▼ ABCD 32.Kali Linux中 ...
- python中如何调用函数_如何调用python中的内置函数?(实例解析)
对于第一次接触到python这门编程语言的朋友来说,刚刚开始学习python编程的时候对于python函数调用这一方面的了解比较少,在这篇文章之中我们就来了解一下python怎么调用函数. Pytho ...
- 微信python天天学_刚学Python一礼拜!我就能模拟登录微信公众号!我是天才吧!...
最近迷上了用python写爬虫,一发不可收拾,下面我们来说一下如何实现模拟登录微信公众号平台. 故事起因,由于本人注册了一个公众号,想着如何通过脚本实现像部分用户发送消息呢? 如何实现一键上传材料呢? ...
- python脚本编写_如何用Python包编写一个简单的脚本,表达你对父母的爱?
全文共2800字,预计学习时长6分钟 在繁忙的工作生活中,我们经常忘记给所爱的人发WhatsApp.本教程将使用Python包Twilio编写一个简单的Python脚本来发送WhatsApp消息.我们 ...
- python求加速度_如何利用Python 为自然语言处理加速度
自去年发布 Python 的指代消解包(coreference resolution package)之后,很多用户开始用它来构建许多应用程序,而这些应用与我们最初的对话应用完全不同. 利用 spaC ...
- python正则表达式操作指南_比较详细Python正则表达式操作指南(re使用)
就其本质而言,正则表达式(或 RE)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现.使用这个小型语言,你可以为想要匹配的相应字符串集指定规则:该 ...
- python框架漏洞_注意!Python中的10个常见安全漏洞及修复方法
编写安全的代码很困难,当你学习一门编程语言.一个模块或框架时,你会学习其使用方法.在考虑安全性时,你需要考虑如何避免代码被滥用,Python也不例外,即使在标准库中,也存在着许多糟糕的实例.然而,许多 ...
最新文章
- 百度程序员妻子质疑老公不忠!每天很晚回家!周五下班不回家,说领导带他喝酒!结婚一年就出轨?...
- 不可思议!英伟达新技术训练NeRF模型最快只需5秒,代码已开源
- kafka查看broker上主副本_kafka分区及副本在broker的分配
- 将CSV和SQL数据加载到Pandas中
- java 性能框架_Java Fork Join 框架(四)性能
- 阿里云最新虚拟化研发岗招聘
- 操作系统实验报告-多线程编程解决进程间同步和互斥问题
- DatagramPacket.getData()与DatagramPacket.getLength()的误区
- Win11设置定时关机命令没反应怎么办?
- 计算机二级office查分数,3月份office计算机二级内网查分90,写下一点经验给后来人...
- 原生android 操作系统,为什么氢OS被称为最接近原生安卓的操作系统?
- CMD查看局域网在线IP
- 风机疲劳载荷谱转SACS疲劳载荷定义文件
- 怎么利用shell批量把图片改名(数字排序)
- HBase Flush 解析
- 3DMARK 06超频后成绩上万
- 全面了解学习Spring
- 5、canvas 渐变填充色
- STM32循迹PWM调速及阿克曼舵机转向
- Linux0.11内核源码解析01
热门文章
- 用C语言递归实现火车调度算法详解
- [Pytorch系列-33]:数据集 - torchvision与CIFAR10/CIFAR100详解
- 在keil 中 导入 stc 芯片组
- 微信小程序——定位(根据经纬度算距离)
- java 程序计数器_JVM入门系列之程序计数器
- Web3D软件WebMax正式版发布
- 南开100题c语言计算机二级,3月计算机二级C语言题库南开100题.pdf
- 日志分析的大救星 — — 集算器
- 认识计算机系统基本结构,高中信息技术计算机基础应用课件:03认识计算机系统的组成与作用...
- java中语言转换方法_语言切换的三种方法