Pyhacker实现端口扫描器

目录
  • 00x1:需要用到的模块
  • 00x2:创建socket对象
  • 00x3:处理ip
  • 00x4:测试用例
  • 00x5:设定扫描端口
  • 00x6:完整代码

主要是以Nmap举例编写,其中涉及的协议暂不过多讨论

喜欢用Python写脚本的小伙伴可以跟着一起写一写呀。

编写环境:Python2.x

00x1:需要用到的模块

需要用到的模块如下:

import socket
import ipaddr

00x2:创建socket对象

首先我们先进写一个简单的通信

先创建socket对象

sockect = socket.socket()

因为主要就是进行端口扫描,不需要等待对方回复通信,所以我们需要再用异常处理

Ok,没毛病

00x3:处理ip

我们接下来处理ip,当输入一个 127.0.0.1/24 让他自动分成ip

这就要用到ipaddr

ip = raw_input('\nIP:')
ips = ipaddr.IPNetwork(ip)
for ip in ips:
    print ip

自动生成C段ok,当然你输入B段也是可以的,他会自动处理

强制转换为字符串,不然无法执行

ip = str(ip)

00x4:测试用例

我们来测试一下,以百度为例:

速度有点慢,有的可能会超时,我们再限制一下超时时间

try:
    sockect.settimeout(0.2)
    sockect.connect((ip,port))
    print "\n[+]%s open %s"%(ip,port)
except:
    sockect.close()

修改后快了很多

00x5:设定扫描端口

我们来设定扫描的端口

portlist = [21,80,445,3306,27017,6379.139,135]

ok,这就完成了一个端口扫描器

当然你可以自定义端口,以及根据自己的需求来编写

00x6:完整代码

#!/usr/bin/python
#-*- coding:utf-8 -*-
import socket
import ipaddr
def portscan(ip,port):
    sockect = socket.socket()
    try:
        sockect.settimeout(0.2)
        sockect.connect((ip,port))
        print "[+]%s open %s"%(ip,port)
    except:
        sockect.close()
portlist = [21,80,443,445,3306,27017,6379]
if __name__ == '__main__':
    ip = raw_input('\nIP:')
    print ""
    ips = ipaddr.IPNetwork(ip)
    for ip in ips:
        for port in portlist:
            portscan(str(ip),port)

以上就是Pyhacker实现端口扫描器的详细内容,更多关于Pyhacker端口扫描器的资料请关注我们其它相关文章!

(0)

相关推荐

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

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

  • 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

  • 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编写指南引用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() 方法扫描端

  • Pyhacker实现端口扫描器

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

  • 使用Python3制作TCP端口扫描器

    在渗透测试的初步阶段通常我们都需要对攻击目标进行信息搜集,而端口扫描就是信息搜集中至关重要的一个步骤.通过端口扫描我们可以了解到目标主机都开放了哪些服务,甚至能根据服务猜测可能存在某些漏洞. TCP端口扫描一般分为以下几种类型: TCP connect扫描:也称为全连接扫描,这种方式直接连接到目标端口,完成了TCP三次握手的过程,这种方式扫描结果比较准确,但速度比较慢而且可轻易被目标系统检测到. TCP SYN扫描:也称为半开放扫描,这种方式将发送一个SYN包,启动一个TCP会话,并等待目标响应

  • 实例探究Python以并发方式编写高性能端口扫描器的方法

    关于端口扫描器 端口扫描工具(Port Scanner)指用于探测服务器或主机开放端口情况的工具.常被计算机管理员用于确认安全策略,同时被攻击者用于识别目标主机上的可运作的网络服务. 端口扫描定义是客户端向一定范围的服务器端口发送对应请求,以此确认可使用的端口.虽然其本身并不是恶意的网络活动,但也是网络攻击者探测目标主机服务,以利用该服务的已知漏洞的重要手段.端口扫描的主要用途仍然只是确认远程机器某个服务的可用性. 扫描多个主机以获取特定的某个端口被称为端口清扫(Portsweep),以此获取特

  • go语言制作端口扫描器

    GO语言编写的TCP端口扫描器,本人的第一个GO程序. Git@OSC:http://git.oschina.net/youshusoft/GoScanner 使用命令: Scanner startIp [endIp] port thread 参数说明: startIp  开始IP endIp  结束IP,可选,不输入表示只扫描startIp port  扫描端口,单个端口:3389:多个端口:1433,3389:连续端口:135-3389 thread  最大并发线程数,最高2048 扫描结果

  • C实现的非阻塞方式命令行端口扫描器源码

    该实例是一个C实现的基于命令行模式端口扫描代码,并且是以非阻塞方式来实现对IP和端口的连接测试.为了大家使用和学习方便,已在代码中尽可能多的地方加入了注释,相信对于帮助大家理解C端口扫描有很大帮助. 具体功能代码如下: #include <afxext.h> #include <winsock.h> // 编译时需使用的库 #pragma comment(lib,"wsock32.lib") // select()成员定义 #define ZERO (fd_se

  • 使用Python编写简单的端口扫描器的实例分享

    单线程实现 单线程实现道理比较简单,这里尝试Soket连接3389,连接成功说明端口开放,否则说明没有开远程服务.随便修改了一下就ok了,代码如下,最终得到自己的IP地址. #!/usr/bin/env python import socket if __name__=='__main__': port=3389 s=socket.socket() for cnt in range(253,2,-1): address='XXX.XXX.XXX.'+str(cnt) #XXX.XXX.XXX I

  • 利用 fsockopen() 函数开放端口扫描器的实例

    1.前言 本文利用 fsockopen() 函数,编写一个功能简单的端口扫描器. 2.关键技术 本实例的端口号是固定的,通过对数组的遍历,利用 fsockopen() 函数连接,如果连接成功,则该端口处于开放状态,否则该端口处于关闭状态. 核心代码如下: foreach ($port as $key => $value) { echo '<tr>'; echo '<td>' . $key . '</td>'; echo '<td>' . $value

  • 基于C#实现的端口扫描器实例代码

    本文所述为基于C#实现的端口扫描器代码,代码内包括了窗体和逻辑处理两部分代码.在代码中,创建TcpClient对象,把TcpClient用于为TCP网络服务提供客户端连接,创建线程,并创建ThreadStart委托对象,端口扫描范围为[0-65536],也可自定义扫描范围. 功能主要代码如下: using System; using System.Drawing; using System.Windows.Forms; using System.Net.Sockets; using System

  • Python3多线程版TCP端口扫描器

    本文实例为大家分享了Python3多线程版TCP端口扫描器的具体代码,供大家参考,具体内容如下 使用命令 python BannerDemo.py -H 192.168.200.101 -p 22,3306 代码如下 import optparse import socket from socket import * from threading import * screenLock = Semaphore(value=1) def connScan(tgtHost,tgtPort): try

  • python编写简单端口扫描器

    本文实例为大家分享了python编写简单端口扫描器的具体代码,供大家参考,具体内容如下 直接放代码 此代码只支持扫描域名,要扫描IP请自己修改 from socket import * from threading import Thread import optparse Port = [80,21,23,22,25,110,443,1080,3306,3389,1521,1433] Server = ['HTTP','FTP','TELNET','SSH','SMTP','POP3','HT

随机推荐