Python使用python-nmap(windows)

安装

首先需要安装nmap!!!(这很重要):https://nmap.org/download.html

测试代码:

import nmap

nm = nmap.PortScanner(nmap_search_path=('nmap', r"D:\Nmap\nmap.exe"))

# 百度ip
baiduIp = '180.97.33.108'
nm.scan(baiduIp, '80')
a = nm[baiduIp].has_tcp(80)
print(baiduIp + "---" + str(a))

如果你不把nmap.exe的路径放入PortScanner中或者没有安装nmap那就会报错:

他就会出现这种情况!!!!

基本使用实例:

import nmap # 导入 nmap.py 模块

nm = nmap.PortScanner() # 获取 PortScanner 对象

nm.scan('127.0.0.1', '22-443') # 扫描主机 127.0.0.1 端口号 22-443

nm.command_line() # 获取用于扫描的命令行:nmap -oX - -p 22-443 127.0.0.1

nm.scaninfo() # 获取本次扫描的信息 {'tcp': {'services': '22-443', 'method': 'connect'}}

nm.all_hosts() # 获取所有扫描到的主机

nm['127.0.0.1'].hostname() # 获取 127.0.0.1 的主机名

nm['127.0.0.1'].hostnames() # 获取list格式的主机名dict 127.0.0.1 # 如 [{'name':'hostname1', 'type':'PTR'}, {'name':'hostname2', 'type':'user'}]

nm['127.0.0.1'].state() # 获取主机 127.0.0.1 的状态 (up|down|unknown|skipped)

nm['127.0.0.1']['tcp'].keys() # 获取所有tcp端口

nm['127.0.0.1'].all_tcp() # 获取所有tcp端口 (已排序)

nm['127.0.0.1'].all_udp() # 同上

nm['127.0.0.1'].all_ip() # 同上

nm['127.0.0.1'].all_sctp() # 同上

nm['127.0.0.1'].has_tcp(22) # 是否含有主机 127.0.0.1 的 22 端口的信息

nm['127.0.0.1']['tcp'][22] # 获取主机 127.0.0.1 22 端口(tcp)的所有信息

nm['127.0.0.1'].tcp(22) # 获取主机 127.0.0.1 22 端口的所有信息

 

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Windows系统下使用Python-nmap可以进行网络扫描和端口扫描。Python-nmap是一个Python库,它封装了Nmap安全扫描工具的功能,可以通过Python代码来调用Nmap进行扫描操作。 要在Windows系统中使用Python-nmap,首先需要确保已经安装了Python和Nmap。以下是使用Python-nmap的基本步骤: 1. 安装Python:从Python官方网站下载并安装适合您系统的Python版本。 2. 安装Nmap:从Nmap官方网站下载并安装适合您系统的Nmap版本。 3. 安装Python-nmap库:打开命令提示符或者PowerShell,并执行以下命令来安装Python-nmap库: ``` pip install python-nmap ``` 4. 编写Python代码:创建一个Python脚本文件,例如`scan.py`,并在其中编写扫描代码。以下是一个简单的示例: ```python import nmap nm = nmap.PortScanner() result = nm.scan('127.0.0.1', '22-443') for host in result['scan']: print('Host: %s' % host) for port in result['scan'][host]['tcp']: print('Port: %s\tState: %s' % (port, result['scan'][host]['tcp'][port]['state'])) ``` 上述代码使用了`nmap.PortScanner()`创建了一个扫描器对象,然后使用`scan()`方法对指定IP地址和端口范围进行扫描。扫描结果存储在`result`变量中,可以根据需要进行处理和输出。 5. 运行Python脚本:在命令提示符或者PowerShell中执行以下命令来运行Python脚本: ``` python scan.py ``` 执行后,您将看到扫描结果输出在命令行中。 希望以上介绍对您有帮助!如果您有任何进一步的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值