nmap - 使用 python-nmap 确定主机的操作系统
问题描述
在 Python 3.4 之前,您可以使用 Python 确定目标的操作系统,如下所示:
import nmap
nm = nmap.PortScanner()
scanner = nm.scan(IP, port, arguments='-O')
print(scanner['scan'][IP]['osmatch'])
我正在使用 Python 3.6 并且osmatch
没有返回任何内容。有没有办法解决这个问题?
解决方案
我已经用 Python 3.7.6 测试了你的脚本:
import nmap
nm = nmap.PortScanner()
scanner = nm.scan(IP, port, arguments='-O')
print(scanner['scan'][IP]['osmatch'])
它运作良好。您遇到的问题是,由于某些原因,扫描未检索到任何结果,并且结果对象为空,但如果您在不同的主机上再次尝试,它应该可以工作。
推荐阅读
- html - 如何将 css 伪选择器正确添加到 Blazor 项目
- python - Windows 的多处理问题
- elasticsearch - 按 ElasticSearch 中字段的特定索引聚合
- c++ - 直接列表初始化还是在成员初始化列表中直接初始化?
- python - 如何使用 namelist() 和 for 循环打开压缩的 csv 文件?
- function - 从 Jenkins 共享库返回的 Groovy LinkedHashMap 被转换为字符串
- c# - 在 Powershell 与 C# 中使用 GetMembers
- go - 想要将映射映射到切片结构
- react-native - React-Navigation:一旦父屏幕重新渲染,如何更改传递给子屏幕的参数?
- git - 从本地提交中检索意外删除的函数到 git