PyHacker编写指南引用Nmap模块实现端口扫描器

目录
  • 编写:
  • 调试扫描:
    • 方法扫描端口
  • 输出状态:

引用Nmap库实现扫描功能,本节课比较简单一看就会。

编写环境:Python2.x

编写:

首先安装Nmap程序,并添加环境变量

pip install nmap
pip install python-nmap

调试扫描:

import nmap
def nmapScan(host,port):
        nmScan=nmap.PortScanner()       #实例化
        state = nmScan.scan(host,port)  #scan() 方法扫描端口
        print state
nmapScan('127.0.0.1','80')

如果想加nmap参数,直接在后面可以加上,第三个参数可选

state = nmScan.scan(host,port,arguments='-O')  #scan()

方法扫描端口

实例化后 调用scan方法进行扫描

输出的内容非常详细,我们可以截取我们想要的内容先说一下几个方法

    nmScan=nmap.PortScanner()       #实例化
    nmScan.scan(host,port)  #scan() 方法扫描端口
    print nmScan.command_line() #输出命令
    print nmScan.scaninfo() #返回nmap扫描信息,为字典类型
    print nmScan.all_hosts() #返回nmap扫描信息,为列表类型

根据自己需求,输出自己想要的内容

我们这里选择默认的json格式

输出状态:

print state['scan'][host]['tcp'][int(port)]['state']

以上就是PyHacker编写指南Nmap模块实现端口扫描的详细内容,更多关于PyHacker编写Nmap端口扫描的资料请关注我们其它相关文章!

时间: 2022-05-14

Python利用socket模块开发简单的端口扫描工具的实现

一.socket 1.简介 Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯. socket的工作流程 socket 采用C/S 模式,分为服务端和客户端 服务端数据处理流程 创建socket -> 绑定到地址和端口 -> 等待连接 -> 开始通信-> 关闭连接 客户端数据处理流程 创建socket -> 等待连接 -> 开始通信-> 关闭连接 客

PyHacker编写URL批量采集器

目录 00x1:需要用到的模块 00x2:选取搜索引擎 00x3:分析需要采集的url 00x4:搜索 00x5:自动保存 00x6:完整代码 喜欢用Python写脚本的小伙伴可以跟着一起写一写呀. 编写环境:Python2.x 00x1:需要用到的模块 需要用到的模块如下: import requests import re 本文将用re正则进行讲解,如果你用Xpath也可以 00x2:选取搜索引擎 首先我们要选取搜索引擎(其他搜索引擎原理相同) 以bing为例:Cn.bing.com 首先分

Pyhacker实现端口扫描器

目录 00x1:需要用到的模块 00x2:创建socket对象 00x3:处理ip 00x4:测试用例 00x5:设定扫描端口 00x6:完整代码 主要是以Nmap举例编写,其中涉及的协议暂不过多讨论 喜欢用Python写脚本的小伙伴可以跟着一起写一写呀. 编写环境:Python2.x 00x1:需要用到的模块 需要用到的模块如下: import socket import ipaddr 00x2:创建socket对象 首先我们先进写一个简单的通信 先创建socket对象 sockect = s

Python端口扫描简单程序

本文实例为大家分享了Python端口扫描的实现代码,供大家参考,具体内容如下 获取本机的IP和端口号: import socket def get_my_ip(): try: csock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) csock.connect(('8.8.8.8', 80)) (addr, port) = csock.getsockname() csock.close() return addr,port except s

python端口扫描系统实现方法

本文实例讲述了python端口扫描系统实现方法.分享给大家供大家参考.具体实现方法如下: 该程序的主要功能如下: 1. 从自有API接口获取所有的外网IP段: 2. 用Nmap 遍历扫描所有的IP段,-oX 生成XML的扫描报告: 3. 用xml.etree.ElementTree模块方法读取XML文件,将ip,开放端口,对应服务等写入Mysql数据库. 功能很简单,没有满足老大高大上的需求,所以这个小项目就这么英勇的挂掉了!~~~完全都还没考虑程序异常终止,扫描服务器异常歇菜的情况. 贴上代码

基于Python socket的端口扫描程序实例代码

本文研究的主要是Python的端口扫描程序,具体实例代码如下. 先来看看第一个端口扫描程序代码,获取本机的IP和端口号: import socket def get_my_ip(): try: csock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) csock.connect(('8.8.8.8', 80)) (addr, port) = csock.getsockname() csock.close() return addr,port

Python实现的端口扫描功能示例

本文实例讲述了Python实现的端口扫描功能.分享给大家供大家参考,具体如下: 一 代码 import sys import socket import multiprocessing def ports(ports_service): #获取常用端口对应的服务名称 for port in list(range(1,100))+[143,145,113,443,445,3389, 8080]: try: ports_service[port] = socket.getservbyport(por

python使用多线程+socket实现端口扫描

本文实例为大家分享了python实现端口扫描的具体代码,供大家参考,具体内容如下 今天老师上课说的内容,使用多线程+socket写一个端口扫描器 写的些许潦草,也没注释,不过问题不大,应该都能看懂 多线程+queue真的nice!! import socket import threading import time import queue import sys class ScannerPort(object): class ScanPorts (threading.Thread): def

python实现的多线程端口扫描功能示例

本文实例讲述了python实现的多线程端口扫描功能.分享给大家供大家参考,具体如下: 下面的程序给出了对给定的ip主机进行多线程扫描的Python代码 #!/usr/bin/env python #encoding: utf-8 import socket, sys, thread, time openPortNum = 0 socket.setdefaulttimeout(3) def usage(): print '''''Usage: Scan the port of one IP: py

python基础教程之udp端口扫描

一.概述任务描述:开发一个程序,用于获取局域网中开启snmp服务的主机ip地址列表,并写入相应文件以便其它程序使用.背景知识:SNMP是基于UDP的,而且标准的SNMP服务使用161和162端口.思路:1.获取局域在线主机列表:2.获取各个主机的snmp端口(比如161)开启状况:3.以特定格式写入特定文件.这里只实现前两步. 二.nmap实现1.安装nmapLinux平台(CentOS为例): yum install nmap -y     widows平台(下载地址):http://nmap

c++ 端口扫描程序实现案例

第一.原理 端口扫描的原理很简单,就是建立socket通信,切换不通端口,通过connect函数,如果成功则代表端口开发者,否则端口关闭. 所有需要多socket程序熟悉,本内容是在window环境下的 第二.单线程实现方式 // PortScanf.cpp : 定义控制台应用程序的入口点. // #define WIN32_LEAN_AND_MEAN #include "stdafx.h" #include <WinSock2.h> #pragma comment(lib

python基于socket函数实现端口扫描

本文实例为大家分享了python基于socket实现端口扫描的具体代码,供大家参考,具体内容如下 自学Python一段时间,写个端口扫描器练练手.有什么不足之处,请见谅 这是基于socket函数对端口进行端口扫描 所以,首先要导入socket模块 from socket import * 其次,通过正侧表达式来判断输入的是不是IP地址 compile_ip = re.compile( '^(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])\.(1\d{2}|2[0-4

Python实现一个简单的验证码程序

老师讲完random函数,自己写的,虽然和老师示例的不那么美观,智能,但是也自己想出来的,所以记录一下,代码就需要自己不断的自己练习,实战,才能提高啊!不然就像我们这些大部分靠自学的人,何时能学会.还有就是,这次听老师的,把自己的代码添加注释,所以这次把很简单的代码都写上了注释,而且很大白话,不管有没有接触过python的,我相信仔细看了,肯定能看懂.如果看完,再自己尝试着默写出来,那就是更好到了,好了进入正题: 自己写的: __Author__ = "Zhang Peng" impo