方法一: #coding=utf-8
import urllib2
import threading
from time import ctime,sleep
print "Start-Time : %s" %ctime()
f = open("ip.txt","r")
lines = f.readlines()
for line in lines:
    url = 'http://'+line.strip('\n')+':10000'
    try:
        r = urllib2.urlopen(url,timeout=1)
        if r.getcode() == 200:
            print url
            infile = open("infiles.txt","a")
            infile.write(url+'\n')
            infile.close()
    except Exception as e :
        print e
f.close()
print "Stop--Time : %s" %ctime()  方法二:
#coding=utf-8
#port scan
import os
import subprocess
ip = open('ip.txt')
data = ip.readlines()
for line in data:
        line = line.strip()
        cmd = '/root/Desktop/tools/masscan/bin/masscan -p10000 %s' %line
        for i in os.popen(cmd):
                f = open("abc.txt","a")
                f.write(i)
                f.close()
ip.close() 批量探测域名列表中指定端口的开放情况(域名列表,只包含域名,例如www.baidu.com 而非http://www.baidu.com/pic)扫描完毕后在当前目录生产指定端口的文本文件。#coding=utf8
import os
import sys
import Queue
import socket
import getopt
import logging
import requests
import threading logging.basicConfig(
    level=logging.WARNING,
    format="[%(asctime)s] %(message)s"
) def test_port(host, port):
    logging.warning("trying %s" % host)     try:
        ip = socket.gethostbyname(host)
    except:
        pass
    else:
        if ip:
            try:
                sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
                indicator = sock.connect_ex((ip, port))
            except:
                if sock:
                    sock.close()
            else:
                if indicator == 0:
                    sock.close()
                    with open(("%d.txt" % port), "a") as f:
                        f.write("%s:%d (%s) open!!\n" % (ip, port, host)) class BatchThreads(threading.Thread):
    def __init__(self, queue, _port):
        super(BatchThreads, self).__init__()
        self.queue = queue
        self.port = _port     def run(self):
        while True:
            if self.queue.empty():
                break
            else:
                try:
                    url = self.queue.get()
                    #struts2_all(url)
                    test_port(url, self.port)
                except:
                    break def batch_queue(_port, _file, _queue, _thread_number):
    with open(_file) as f:
        urls = [line.strip() for line in f.readlines()]
    urls = set(filter(lambda url: url and not url.startswith("#"), urls))     if urls:
        # with open("urls.txt", "w") as ft:
        #     ft.write("\n".join(urls))         for url in urls:
            queue.put(url)         logging.warning("total %d" % queue.qsize())         if _thread_number > (queue.qsize() / 2):
            _thread_number = queue.qsize() / 2         for _ in xrange(_thread_number):
            threads.append(BatchThreads(_queue, _port))         for t in threads:
            t.start()
        for t in threads:
            t.join() def usage():
    print '''Usage: python %s [option] All Struts2 Vulnerable Test -h         scan a single host
-f         scan from a file
-p         port
    ''' % os.path.basename(sys.argv[0]) if __name__ == '__main__':
    global threads
    threads = []
    queue = Queue.Queue()
    thread_number = 100
    port = 8080
    filename = ''
    target = ''
    if not len(sys.argv[1:]):
        exit(usage())     try:
        opts, args = getopt.getopt(sys.argv[1:], 'u:f:p:')
    except getopt.GetoptError as err:
        exit(usage())
    else:
        for name, value in opts:
            if name == '-u':
                target = value
                #struts2_all(value)
   
            if name == '-p':
                port = int(value)
            if name == '-f':
                filename = value
        if target:
            test_port(target,port)
        if filename :            batch_queue(port,filename, queue, thread_number)     

全网扫描扫描10000端口后的优化脚本&域名列表指定端口的批量测试的更多相关文章

  1. PHP微信支付开发之扫描支付(模式二)后如何回调

    其实在写这篇文章的时候感觉自己已经落伍了,不过笔者在百度上搜索"微信支付开发之扫描支付(模式二)后如何回调"寻找答案时,发现依旧有很多朋友没有解决这个问题,所以就把自己的解决思路分 ...

  2. Centos 6.4 x86_64 最小化安装后的优化——还需要整理

      Centos 6.4 x86_64 最小化安装后的优化   购买了服务器以后要做的第一件事就是安装操作系统了,这里推荐安装 Centos 6.4 x86_64,安装系统时要选择最小化安装(不需要图 ...

  3. 修改mysql端口后重启mysql报错:Can't start server: Bind on TCP/IP port. Got error...n denied

    1:错误信息:如下 [root@host ~]# systemctl status mariadb ● mariadb.service - MariaDB database server Loaded ...

  4. centos7虚拟机开启端口后 外部不能访问的问题

    转载 https://blog.csdn.net/u012045045/article/details/104219823 虚拟机新开了5005端口,系统内部是显示开了的(wget 192.168.4 ...

  5. scp命令需要指定端口时要紧跟在scp后

      问题来源:我本地是Ubuntu操作系统,有时需要更新一些文件到服务器.但是,为了安全起见我们都是将服务器的sshd端口修改的,通常不使用默认的22号端口. 如果我们使用scp命令时:scp upl ...

  6. 使用telnet测试指定端口的连通性

    大家好,我是良许. 大家知道,telnet 是一个阉割版的 ssh ,它数据不加密,数据容易被盗窃,也容易受中间人攻击,所以默认情况下 telnet 端口是必须要被关闭的. telnet为用户提供了在 ...

  7. iptables/mysql设置指定主机访问指定端口

    本周,运维告知部署的服务被扫描发现漏洞,涉及的软件分别为mysql,ZooKeeper与Elasticsearch. 因为最近任务繁重,人力资源紧张,因此无法抽出更多时间调整代码,添加权限认证. 与软 ...

  8. linux系统最小化安装后的初始化脚本

    作为运维人员,经常会初始化系统,系统在安装过程中基本都会选择最小化安装,这样安装好的系统里会缺少很多环境. 下面分享一个系统安装后的初始化脚本: #!/bin/bash #系统时最小化安装的,这里要安 ...

  9. Windows2008R2 一键安全优化脚本

      ::author vim ::QQ 82996821 ::filename Windows2008R2_safe_auto_set.bat   :start @echo off color 0a ...

随机推荐

  1. Linq to Entities下存储过程的使用方法

    1.首先在数据库中创建好存储过程. 2.在实体模型中添加存储过程的映射.此时根据映射过来的查询结果有两种途径:第一种可以选择添加选择的存储过程的函数到实体模型中.这样的话,查询的结果将会是xxx_re ...

  2. IOS 蓝牙相关-app作为外设被连接的实现(3)

    再上一节说了app作为central连接peripheral的情况,这一节介绍如何使用app发布一个peripheral,给其他的central连接 还是这张图,central模式用的都是左边的类,而 ...

  3. [LintCode] Maximum Gap 求最大间距

    Given an unsorted array, find the maximum difference between the successive elements in its sorted f ...

  4. unity3d插件Daikon Forge GUI 中文教程5-高级控件listbox和progress bar的使用

    3.3.listbox列表框 Atlas 图集: 下面应用到的精灵都是在这里的. ListBox中的内容: 背景精灵 图片的主颜色 Padding边距 Scrollbar 滚动条对象的预制体或者对象, ...

  5. BizTalk开发系列(六) BizTalk开发简述

    现在很多大型企业信息化程度很高,运行中的系统可达到数十乃至上百个.而大部分系统由于建设的时间.开发团队和技术 往往不相同,系统之间的大部分都是独立运行的.随着信息化建设的深入各系统之间的交互需求越来越 ...

  6. 关于JAVA中的String的使用与连接(转)

    JAVA中的String连接性能 Java中的String是一个非常特殊的类,使它特殊的一个主要原因是:String是不可变的(immutable).           String的不可变性是Ja ...

  7. 关于c++风格 code style

    Header files should be self-contained. All header files should have #define guards to prevent multip ...

  8. BLOB

    BLOB (binary large object),二进制大对象,是一个可以存储二进制文件的容器.在计算机中,BLOB常常是数据库中用来存储二进制文件的字段类型.BLOB是一个大文件,典型的BLOB ...

  9. 【iCore3 双核心板_FPGA】例程二:GPIO输出实验——点亮三色LED

    实验指导书及代码包下载: http://pan.baidu.com/s/1boiOJBT iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...

  10. P4行为模型BMV2依赖关系安装:thrift nanomsg nnpy安装

    由于安装p4factory的步骤需要OF的支持,我需要下载p4的行为模型BMV2: thrift是支持BMV2的软件框架:nanomsg是一个实现了几种"可扩展协议"的高性能通信库 ...