当前位置: 首页 > news >正文

网站建设suteng佛山网络推广平台

网站建设suteng,佛山网络推广平台,京东自营网上商城,游戏网站建设与策划文章目录 Python-nmap库使用教程前置条件引入python-nmap创建Nmap扫描实例执行简单的主机发现(nmap -sn)示例,我有一台主机配置为不响应 ICMP 请求,但使用nmap -sn,仍然能够探测到设备: 端口扫描扫描特定端…

文章目录

  • Python-nmap库使用教程
    • 前置条件
    • 引入python-nmap
    • 创建Nmap扫描实例
    • 执行简单的主机发现(`nmap -sn`)
      • 示例,我有一台主机配置为不响应 ICMP 请求,但使用`nmap -sn`,仍然能够探测到设备:
    • 端口扫描
      • 扫描特定端口
      • 扫描多个端口和主机
    • 获取扫描结果
    • 解析高级扫描信息
    • 错误处理和异常
    • 使用Python-nmap进行OS指纹识别(猜测目标主机操作系统类型)
    • 总结

Python-nmap库使用教程

Python-nmap是一个Python库,用于帮助进行网络扫描。它是Nmap网络扫描器的Python接口,允许开发者从Python脚本中直接调用Nmap的功能。这篇文章将详细介绍如何使用python-nmap库来执行各种网络扫描任务。

前置条件

在开始之前,需要确保安装了Nmap和python-nmap库。可以通过以下命令安装Nmap:

sudo apt-get install nmap

对于python-nmap库,可以使用pip进行安装:

pip install python-nmap

引入python-nmap

要在Python代码中使用nmap,首先需要导入库:

import nmap

创建Nmap扫描实例

创建一个Nmap扫描实例是使用python-nmap进行扫描的第一步。下面的代码演示了如何创建一个Nmap扫描器对象:

nm = nmap.PortScanner()

执行简单的主机发现(nmap -sn

扫描一个或多个IP地址,以检查它们是否在线:

nm.scan(hosts='192.168.1.0/24', arguments='-sn')

上面的命令使用了-sn参数,这是Nmap的ping扫描选项,用于执行主机发现而不是端口扫描。-sn选项除了发送ICMP回显请求(即ping请求),还会发送TCP和/或UDP包到特定的端口。

示例,我有一台主机配置为不响应 ICMP 请求,但使用nmap -sn,仍然能够探测到设备:

用Advanced IP Scanner工具查看192.168.1.118设备是在线的:

在这里插入图片描述

配置了不响应ICMP请求:
在这里插入图片描述

nmap -sn 192.168.1.118

在这里插入图片描述

nmap -PR也可以,但耗时较长:

nmap -PR 192.168.1.118

在这里插入图片描述

端口扫描

扫描特定端口

可以指定扫描单个主机上的特定端口:

nm.scan('127.0.0.1', '22-443')

这将扫描本地主机(127.0.0.1)上从22到443之间的所有端口。

扫描多个端口和主机

也可以同时扫描多个端口和主机:

nm.scan('192.168.1.0/24 10.0.0.0/24', '22,80,443')

此命令会扫描两个子网内的主机,只检查端口22、80和443。

获取扫描结果

完成扫描后,可以获取关于发现的每个主机的信息:

for host in nm.all_hosts():print('Host : %s (%s)' % (host, nm[host].hostname()))print('State : %s' % nm[host].state())

上述代码将打印出所有已扫描主机的IP地址、主机名和状态(例如,‘up’或’down’)。

解析高级扫描信息

除了基础信息外,还可以获取更多细节,如开放端口和相应的服务信息:

for host in nm.all_hosts():for proto in nm[host].all_protocols():print('----------')print('Protocol : %s' % proto)lport = nm[host][proto].keys()for port in sorted(lport):print('port : %s\tstate : %s' % (port, nm[host][proto][port]['state']))

此段代码会列出每个主机的所有开放端口及其状态。

错误处理和异常

使用python-nmap时,需要考虑到异常情况,比如扫描权限不足、网络问题等。可以通过try-except块来捕获和处理这些异常:

try:nm.scan(hosts='192.168.1.0/24', arguments='-sS')
except nmap.PortScannerError as e:print("Scan error: " + str(e))
except Exception as e:print("Unexpected error: " + str(e))

在上面的代码中,PortScannerError捕获了与Nmap扫描相关的错误,而其他类型的异常则被通用的Exception捕获。

使用Python-nmap进行OS指纹识别(猜测目标主机操作系统类型)

Python-nmap可以使用Nmap的操作系统指纹识别功能来猜测目标主机上运行的操作系统类型。以下是如何实现的示例代码:

nm.scan(hosts='192.168.1.100', arguments='-O')
if 'osclass' in nm['192.168.1.100']:for osclass in nm['192.168.1.100']['osclass']:print('OSClass.type : {0}'.format(osclass['type']))print('OSClass.vendor : {0}'.format(osclass['vendor']))print('OSClass.osfamily : {0}'.format(osclass['osfamily']))print('OSClass.osgen : {0}'.format(osclass['osgen']))print('OSClass.accuracy : {0}'.format(osclass['accuracy']))print('')

这段代码尝试对IP为192.168.1.100的主机进行操作系统检测,并打印出可能的操作系统类别、供应商、家族和生成等信息。

总结

Python-nmap是一个功能强大的工具,可以用来增强网络扫描和主机发现过程。通过以上介绍和代码示例,应该能够开始使用python-nmap库来执行各种网络扫描任务。当然,进行网络扫描时,始终需要遵守相关法律法规,确保扫描活动是合法且有授权的。

http://www.yayakq.cn/news/928883/

相关文章:

  • 做旅游攻略什么网站最好wordpress网店主题
  • seo织梦网站建设步骤政策变了2022二建有必要考吗
  • 网站建设零基础搜索推广 外贸
  • wordpress开发者文档苏州seo服务
  • 犀牛云做网站多少钱佛山正规网站建设报价
  • 重庆模板自助建站石家庄网站制作网站
  • 找人做网站怎么做网站建设大赛
  • 零基础学习网站开发石家庄网页设计培训班
  • 做游戏直播那个网站好企业网站 程序
  • 怎么搭建网站友情链接wordpress付费内容
  • 国企公司网站制作新浪重庆
  • 做爰片的网站徐州市丰县建设局网站
  • 网站的个人网盘怎么做便捷的网站建设软件
  • 学校网站建设自查报告wordpress的主题文件夹
  • 有域名之后怎么自己做网站wordpress 登录 logo
  • 太原网站建设口碑推荐写作网站一稿多投的后果
  • cp网站开发搭建网站多少钱一套网站做后怎么可以在百度搜索到
  • 网站代码生成网站seo站长优化工具
  • 免费素材库大全网站如何做网站搜索引擎优化
  • 教人做衣服得网站有哪些苏州知名网站制作公司
  • 北京自己怎么做网站专业网站设计如何提升网页品质
  • 茂名优化网站建设个人主页签名引导进入橱窗
  • 亚马逊欧洲站vat怎么申请浏阳网站建设公司
  • 新网站一天做多少外链足球教学网站
  • 中国制造网 做网站费用emlog与wordpress区别
  • 做网站建设需要会哪些长沙专业公司网站建设源头
  • 网站可以做库存吗wordpress系统密码忘记
  • 郴州市住房和城乡建设厅网站爱企业 查询
  • 网站按抓取手机软件贵阳最新网站建设软件
  • 济宁网站建设电话网站服务器速度慢