import optparse
import re
from nmap import nmapdef Nmapscan(targetIP):# 实例化PortScanner对象nm = nmap.PortScanner()try:# hosts为目标ip地址,argusments为nmap的扫描参数# -sn:使用ping进行扫描# -PE:使用ICMP的echo请求包result = nm.scan(hosts=targetIP, arguments='-sn -PE')# 对请求的结果进行切片处理state = result['scan'][targetIP]['status']['state']print(f'[{targetIP}] is [{state}]')except Exception:passif __name__ == '__main__':parse_arg = optparse.OptionParser("Usage:%prog -i ip\n\n" 'Example: python %prog --icmp 192.168.1.1/192.168.1.1-100\n\n')# 添加目标IP参数 -iparse_arg.add_option('-i', '--icmp', dest='targetIP', default='192.168.1.1', type='string')options, args = parse_arg.parse_args()# 判断主机是多台还是单台res = '[-]+\d'if re.findall(res, options.targetIP):if options.targetIP.count('-') == 2:for j in range(int(options.targetIP.split('.')[2].split('-')[0]),int(options.targetIP.split('.')[2].split('-')[1]) + 1):for k in range(int(options.targetIP.split('.')[3].split('-')[0]),int(options.targetIP.split('.')[3].split('-')[1]) + 1):Nmapscan(options.targetIP.split('.')[0] + '.' + options.targetIP.split('.')[1] + '.' + str(j) + '.' + str(k))elif '-' in options.targetIP.split('.').pop(-2) and options.targetIP.count('-') == 1:for y in range(int(options.targetIP.split('.')[2].split('-')[0]),int(options.targetIP.split('.')[2].split('-')[1]) + 1):Nmapscan(options.targetIP.split('.')[0] + '.' + options.targetIP.split('.')[1] + '.' + str(y) + '.' +options.targetIP.split('.')[3])elif options.targetIP.count('-') == 1:for x in range(int(options.targetIP.split('-')[0].split('.')[3]),int(options.targetIP.split('-')[1].split('.')[0]) + 1):Nmapscan(options.targetIP.split('.')[0] + '.' + options.targetIP.split('.')[1] + '.' +options.targetIP.split('.')[2] + '.' + str(x))else:Nmapscan(options.targetIP)

Nmap库ICMP主机探测相关推荐

  1. python安全攻防---信息收集---ICMP主机探测 以及optionparser的使用

    0x01 基础概念 ICMP(Internet control Message Protocal)Internet报文协议,是TCP/IP的一种子协议,属于网络层协议,其目的是用于在IP主机.路由器之 ...

  2. 从入门到入土:基于Python|ACK|FIN|Null|Xmas|windows|扫描|端口扫描|scapy库编写|icmp协议探测主机|对开放端口和非开放端口完成半连接扫描|全连接扫描|

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  3. 十一 使用python的scapy和nmap模块进行主机存活探测

    文章目录 使用scapy模块构造icmp数据包探测 0x01 模块安装 0x02 scapy模块学习笔记 0x03 脚本编写 使用nmap模块扫描 0x01 下载nmap模块和nmap安装包 0x02 ...

  4. 网络安全--主机探测教程

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 实验目的 实验环境 一.ping 1.用途 2.常见用法 3.探测结果 二.fping 1.用途 2.常见用法 3.探测结果 ...

  5. Nmap参数--指纹识别探测

    Nmap参数--指纹识别探测 服务以及版本识别 设置扫描强度 获取详细版本信息 RPC扫描 操作系统探测 操作系统探测补充 服务以及版本识别 Nmap可以识别出端口对应的服务以及响应的版本,其依赖于N ...

  6. nmap渗透测试--版本探测

    在文章讲解之前先公布一个消息: 所有参与活动获赠新书的童鞋,昨天书籍已经发出..只剩一本关于docker的,一直没有人认领,已经转为下期活动的奖品.再次呼吁大家,中奖后要立即联系我领奖,不要错过. 本 ...

  7. Nmap学习4 - 主机发现 实验一

    Nmap学习4 - 主机发现 实验一 实验 实验1- nmap -sn 无端口扫描 局域网 广域网 实验2- nmap -Pn 无 Ping 扫描 实验3- nmap -PS -PA -PU -PY ...

  8. MySQL5.6从库修改主机名同步停止的解决办法

    2019独角兽企业重金招聘Python工程师标准>>> 环境:MySQL5.6 + CentOS6.5 问题描述:从库修改主机名后,从库的同步没有自动启动,用start slave命 ...

  9. 基于PING命令的主机探测

    今天继续给大家介绍渗透测试相关知识,本文主要内容是基于PING命令的主机探测. 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 一.ping与t ...

  10. 后渗透之MSF添加路由与主机探测

    目录 添加路由信息 存活主机探测 端口扫描 服务探测 当我们获取到主机的权限后,通过查看 当前主机存在多个网段,这时我们可以使用msf进行主机探测 添加路由信息 在使用msf探测各网段主机信息时,我们 ...

最新文章

  1. 数据结构(8-3)二叉排序树(查找、插入删除)
  2. python seaborn安装_Windows下安装pip、matplotlib以及seaborn
  3. DE1-LINUX运行
  4. widget(6、menu)
  5. win10安装python3.7及配置环境变量
  6. 微课|中学生可以这样学Python(7.4节):属性
  7. 同步异步、阻塞非阻塞
  8. style样式包(HTML、CSS)
  9. 消防管件做的机器人图片_看图猜管件
  10. 新员工不继续试用,这事怪谁?
  11. 20190612每日一句
  12. pdf虚拟打印机免费版使用教程
  13. vmware虚拟机连接服务器超时,vmware连接远程服务器超时
  14. Oracle 查询表空间及某个表的大小
  15. excel学习-数据透视图(插入+设置样式+加公司logo+设置logo大小+删除表中多余东西)
  16. Neos - 漂亮的JABBER客户端
  17. 决策模型(二):风险决策法
  18. java replace无效_Java String.replace()方法无效的原因及解决方式
  19. OpenCV —— 频率域滤波(傅里叶变换,低通和高通滤波,带通和带阻滤波,同态滤波)
  20. Python调用大漠插件(一)

热门文章

  1. 简单的酒店管理系统(纯属练手)
  2. Java IO流关闭顺序
  3. 关于帧差法的想法(opencv)
  4. 使用md5对文件去重
  5. imagej得到灰度图数据_用ImageJ处理空间成像数据
  6. 一键生成所有尺寸App Icon
  7. VSCode使用EmmyLua调试Lua代码
  8. 摄动法在计算机中的应用,H理论在计算机控制系统摄动模型中的应用研究
  9. 典型相关分析 CCA
  10. 无法打开包括文件: “SDKDDKVer.h”问题解决办法