端口扫描器--利用python的nmap模块

安装nmap模块挺麻烦的,搞了半天

不仅要安装pip install nmap

还要sudo apt install nmap

给出代码,没有设多线程,有点慢,注意端口的类型转换,搞了很久

#!/usr/bin/env python
# -*- coding:UTF-8 -*-
import optparse
import nmap

#usage:python scan.py -H 119.75.217.26 -p 3306 80 22

def nampScan(tgtHost,tgPort):
    nmScan = nmap.PortScanner()
    try:
        result = nmScan.scan(tgtHost,str(tgPort))
        state =  result[‘scan‘][tgtHost][‘tcp‘][int(tgPort)][‘state‘]
        service = result[‘scan‘][tgtHost][‘tcp‘][int(tgPort)][‘product‘]
        version = result[‘scan‘][tgtHost][‘tcp‘][int(tgPort)][‘version‘]
        print "[*]" + tgtHost + " tcp/" + str(tgPort) + " " + state + " " + service + " " + version
    except:
        pass

def main():
    parse = optparse.OptionParser(‘usage %prog -H <targethost> -p <targetport>‘)
    parse.add_option(‘-H‘,dest = ‘tgtHost‘,type = ‘string‘,help = ‘specify target host‘)
    parse.add_option(‘-p‘,dest = ‘tgtPort‘,type = ‘int‘,help = ‘specify target port‘)
    (option,args) = parse.parse_args()
    tgtHost = option.tgtHost
    tgtPort = str(option.tgtPort)
    args.append(tgtPort)
    if(tgtHost == None)|(tgtPort == None):
        print "[-]usage : python scan.py -H 192.168.2.3 -p 3306 80 22"
        exit(0)
    for tgport in args:
        nampScan(tgtHost,tgport)

if __name__ == ‘__main__‘:
    main()

原文地址:https://www.cnblogs.com/kunspace/p/10599256.html

时间: 2024-10-17 04:01:23

端口扫描器--利用python的nmap模块的相关文章

使用python的nmap模块扫描主机生成csv文档

脚本如下,需要用到IPy模块,python-nmap模块,脚本执行后,以csv文档将结果输出到屏幕上 #!/usr/bin/env python3 ''' 参考链接 https://blog.csdn.net/qq_36119192/article/details/83717690 使用方法: nmap_scan.py 192.168.0.0/24 22,3389 支持单个IP,网段扫描 网段格式支持:192.168.0.0/24,192.168.0.0/24 需要扫描的端口用逗号分隔 '''

python 使用nmap 模块

官网 https://pypi.org/project/python-nmap/ >>> import nmap>>> nm = nmap.PortScannerScanner()Traceback (most recent call last): File "<stdin>", line 1, in <module>AttributeError: module 'nmap' has no attribute 'PortSca

python模块学习----nmap模块

安装nmap模块: pip install python_nma nmap模块说明: python-nmap是一个帮助使用nmap端口扫描器的python库.它允许轻松操纵nmap扫描结果,并且将是一个完美的选择,为需要自动完成扫描任务的系统管理员提供的工具并报告.它也支持nmap脚本输出. nmap模块类: ET:Python的轻量级XML支持 PortScanner:端口扫描 PortScannerAsync:异步进行端口扫描 PortScannerError:nmap的异常错误类 Port

Python开发端口扫描器

首先是最常用的端口扫描器: 虽说有nmap等强大的工具,不过如果由于条件限制无法安装Nmap呢? 我这个脚本写的比较简单,默认扫描1-65535全部的端口 实际的话,可以根据需要自己修改脚本来实现定制化扫描 # -*- coding:utf-8 -*- __author__ = "Yiqing" import socket import time import thread import optparse import re socket.setdefaulttimeout(3) de

Python脚本--端口扫描器

一个用python写的简单的端口扫描器,python环境为 3.7.0,windows系统 扫描给定主机是否开放了指定的端口TCP连接扫描是利用TCP的三次握手来确定主机的端口是否开放.确定主机端口开放之后,给端口发送消息,接收端口返回的消息,然后判断该端口运行的服务.使用时,-H?参数可以提供主机的域名或者ip地址,-p/-P?写要扫描的端口,多个端口用逗号分隔 ''' @Author:yw 参考书籍:<python绝技:运用python成为顶级***> ''' import optpars

利用python httplib模块 发送Post请求测试web服务是否正常起来!

最近在学习python,恰好老大最近让我搞个基于post请求测试web服务是否正常启用的小监控,上网查了下资料,发现强大的Python恰好能够用上,所以自己现学现卖,顺便锻炼下自己. 由于本人也刚接触这块不久属于菜鸟级别,所以在任务之前,只能上网把基于post请求的web监控了解清楚,这些资料网上很多,因为本人认为完成这类任务最重要的就是要将实现的原理研究清楚,写程序只是实现的工具,如果大的逻辑不正确,后面的都是白忙活. 了解post发送请求的原理后,利用Python的httplib模块进行逻辑

利用Python Fabric配置主机间SSH互信和添加公钥

本文主要讲述如何利用Python的Fabric模块编写一个脚本用于配置多个主机间SSH互信以及如何将管理员自己的公钥批量添加到多个主机中. 脚本说明 该脚本只提供如题所述的少量功能,用于帮助熟悉Python的Fabric和SSH几项简单的基本配置,原本的目的是想通过Python和Fabric实现对主机进行一些批量操作,如完成主机的初始化等.因为SSH的配置具有通用性和必要性,所以便有了此文,希望对Linux运维和使用Python.Fabric自动化部署感兴趣的人有所帮助. 该脚本将继续维护,直至

有关利用python获取网页, 以及KDD近几年论文标题与摘要链接

最近一直在看KDD的论文,不过,由于老师并没有什么合理的方向性,所以考虑把kdd中的大部分内容都利用python将所有标题.摘要获取下来. 还有一个原因在于,看acm上的摘要,都只显示了两行,再看多点儿,就需要点击expand,觉得非常不爽,所以就用python脚本把html标签删掉.. 想到的方法自然是通过python利用正则表达式对ACM的KDD网页进行字符串匹配,获得相应的网页字符串,然后将所有html的标签删除(例如<div></div>等), 将这些标签删除之后,就能够得

python实现FTP弱口令扫描器与简单端口扫描器

python实现FTP弱口令扫描器与简单端口扫描器 目录 FTP弱口令扫描器 简单端口扫描器 参考: https://blog.csdn.net/rebelqsp/article/details/22109925 https://www.aliyun.com/jiaocheng/434055.html?spm=5176.100033.2.10.3571581eheCuHX FTP弱口令扫描器 # Ftp匿名扫描器的实现,需要使用FTP这个类 # Ftp这个类实现了Ftp客户端的大多数功能,比如连