Pyhacker实现端口扫描器

 更新时间:2022年05月14日 16:08:51   作者:巡安似海  
这篇文章主要为大家介绍了Pyhacker实现端口扫描器的过程示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

主要是以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端口扫描器的资料请关注脚本之家其它相关文章!

相关文章

  • 教你使用Python根据模板批量生成docx文档

    教你使用Python根据模板批量生成docx文档

    这篇文章主要介绍了教你使用Python根据模板批量生成docx文档,文中有非常详细的代码示例,对正在学习python的小伙伴们有很好地帮助,需要的朋友可以参考下
    2021-05-05
  • 一文带你探寻Python中的生成器

    一文带你探寻Python中的生成器

    这篇文章就来和大家详细讲一讲Python中生成器的的相关知识,文中的示例代码讲解详细,对我们深入了解Python有一定的帮助,感兴趣的可以了解一下
    2023-04-04
  • 详解python中的线程

    详解python中的线程

    Python中创建线程有两种方式:函数或者用类来创建线程对象。这篇文章主要介绍了python中的线程,需要的朋友可以参考下
    2018-02-02
  • python找出列表中大于某个阈值的数据段示例

    python找出列表中大于某个阈值的数据段示例

    今天小编就为大家分享一篇python找出列表中大于某个阈值的数据段示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • python groupby函数实现分组选取最大值与最小值

    python groupby函数实现分组选取最大值与最小值

    这篇文章主要介绍了python groupby函数实现分组选取最大值与最小值,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • 钉钉群自定义机器人消息Python封装的实例

    钉钉群自定义机器人消息Python封装的实例

    今天小编就为大家分享一篇钉钉群自定义机器人消息Python封装的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • python如何把嵌套列表转变成普通列表

    python如何把嵌套列表转变成普通列表

    这篇文章主要为大家详细介绍了python如何把嵌套列表转变成普通列表,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • Python报错:OSError: [Errno 22] Invalid argument解决方案及应用实例

    Python报错:OSError: [Errno 22] Invalid argument解决方案及应用实例

    最近跑别人的项目遇到一个这样的问题一开始以为是没有用管理员的权限运行,导致创建不了日志文件后来发现是和windows的命名规则冲突了,这篇文章主要给大家介绍了关于Python报错:OSError: [Errno 22] Invalid argument的解决方案及应用实例,需要的朋友可以参考下
    2024-07-07
  • python实现Adapter模式实例代码

    python实现Adapter模式实例代码

    这篇文章主要介绍了python实现Adapter模式实例代码,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-02-02
  • Python3实现旋转数组的3种算法小结

    Python3实现旋转数组的3种算法小结

    旋转数组是一种常见的数据结构问题,通常是指一个有序数组经过旋转后,使得所有元素逆序排列,本文主要介绍了Python3实现旋转数组的3种算法小结,感兴趣的可以了解一下
    2023-12-12

最新评论