查看: 134078|回复: 448

[Python] 一个简易的端口扫描器

[复制链接]
发表于 2015-8-21 00:46:24 | 显示全部楼层 |阅读模式
本帖最后由 xiaoye 于 2015-9-30 10:48 编辑

支持批量和扫描单一的主机,端口需要自己添加常用端口
[Python] 纯文本查看 复制代码
import IPy 
import threading
import Queue
import time
import socket
import optparse
import sys
reload(sys)
sys.setdefaultencoding("utf8")

queue=Queue.Queue()
ports=[80,3389]

########################################################################
class IPnum(threading.Thread):
    """"""

    #----------------------------------------------------------------------
    def __init__(self,queue):
        """Constructor"""
        threading.Thread.__init__(self)
        self.queue=queue
        
    #----------------------------------------------------------------------
    def run(self):
        """"""
        while True:
            host,port=self.queue.get()
            target=host.__str__()

            try:
               # print (target,port)
                s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
                s.connect((target,port))
                print "IP:%s\t\tPort:%s\n"%(host,port)
            except Exception,e:
                
                pass
            finally:s.close()
            time.sleep(0.000000001)
            self.queue.task_done()

def main(x):
    for num in range(20):
        t=IPnum(queue)
        t.setDaemon(True)
        t.start()    
         
    ips=IPy.IP(x)
    for x in ips:
        for port1 in ports:    
            queue.put((x,port1))
    queue.join()
    
def target(x):  
    for num in range(20):
        t=IPnum(queue)
        t.setDaemon(True)
        t.start() 
    for port1 in ports:    
        queue.put((x,port1))
    queue.join()              

if __name__=='__main__':
    print r'''
    +------------------------------------+
    + Author    |王珂                             +
    +------------------------------------+
    + blog        |[url]www.isbug.net[/url]            +
    +------------------------------------+
    '''
    option=optparse.OptionParser()
    option.add_option('-t',dest='target',default='')
    option.add_option('-s',dest='host',default='')
    (options, args) = option.parse_args()
    if not options.target=='':
        target(options.target)
    if not options.host=='':
        main(x)
    else :
        print "please input target!"
        

评分

参与人数 4i币 +17 收起 理由
clocks + 2 感谢分享
verli + 5 看不懂英文,居然还怪楼主--
Linda -2 不懂英文,看不懂。
C4r1st + 12 支持原创

查看全部评分

回复

使用道具 举报

发表于 2015-8-21 03:46:19 | 显示全部楼层
支持中国红客联盟(ihonker.org)
回复 支持 反对

使用道具 举报

发表于 2015-8-21 16:06:10 | 显示全部楼层
感谢楼主的分享~
回复 支持 反对

使用道具 举报

发表于 2015-8-22 19:21:13 | 显示全部楼层
学习学习技术,加油!
回复 支持 反对

使用道具 举报

发表于 2015-8-22 19:28:16 | 显示全部楼层
感谢楼主的分享~
回复 支持 反对

使用道具 举报

发表于 2015-8-22 22:20:02 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2015-8-23 10:48:50 | 显示全部楼层
学习学习技术,加油!
回复 支持 反对

使用道具 举报

发表于 2015-8-23 17:12:15 | 显示全部楼层
支持,看起来不错呢!
回复 支持 反对

使用道具 举报

发表于 2015-8-24 02:10:36 | 显示全部楼层
学习学习技术,加油!
回复 支持 反对

使用道具 举报

发表于 2015-8-24 03:42:54 | 显示全部楼层
还是不错的哦,顶了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

旗下站点

邮箱系统

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

官方邮箱:security#ihonker.org(#改成@)

官方核心成员

Archiver|手机版|小黑屋| ( 沪ICP备2021026908号 )

GMT+8, 2025-3-7 03:14 , Processed in 0.024043 second(s), 13 queries , Gzip On, MemCache On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部