欢迎python爱好者加入:学习交流群 667279387

最近为了获取虚拟机端口开放情况,写了一个简单脚本来查看。共享给大家。下面的代码在python2种测试通过

说明:concurrent是python 3.2 引入的一个库,在python2中使用需要手动安装一下: pip install futures

from concurrent import futures
import socket
import threading
import time socket.setdefaulttimeout(3) def scan_port(ip, PORT):
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
result=s.connect_ex((ip,PORT))
if(result==0):
print ip,":",PORT,"OPEN"
s.close()
except:
print "scan exception!" if __name__== "__main__":
ip = "127.0.0.1"
t = time.time()
with futures.ThreadPoolExecutor(max_workers=100) as executor:
future_to_port = {executor.submit(scan_port, ip, port): port for port in range(65535)}
for future in futures.as_completed(future_to_port):
future.result()
total_time = time.time() - t
print "total time:%f" % total_time
~
root@CentOS:~# python scan.py
127.0.0.1 : 22 OPEN
127.0.0.1 : 80 OPEN
127.0.0.1 : 443 OPEN
127.0.0.1 : 3306 OPEN
127.0.0.1 : 4200 OPEN
127.0.0.1 : 8001 OPEN
total time:20.943239

欢迎python爱好者加入:学习交流群 667279387

简单高效的端口扫描python脚本的更多相关文章

  1. 简单http和https服务器python脚本

    欢迎加入python学习交流群 667279387 工作经常要用到测试http和https协议,这里写了两个简单的脚本实现简单的http服务器和https服务器. http服务器代码 import s ...

  2. 一个极其朴素的目录扫描Python脚本

    如果目录扫描工具被某些种类的waf拦截了,可以尝试(只是尝试,不是绝对能过)用脚本发出请求,具体功能看需求而定 原理...没啥原理,也没啥技术含量,相信大家都能看得懂的,nobody knows be ...

  3. 监控服务端口状态python脚本

    #!/usr/bin/python import socket,os,time data={ 8080:"tomcat9", 18080:"tomcat_hjgdmj&q ...

  4. 实现简单sed替换功能的python脚本

    #可以用来修改配置文件参数 # -*- coding:utf-8 -*- import os,sys old = sys.argv[1] new = sys.argv[2] file = sys.ar ...

  5. 一个简单的app自动登录Python脚本案例

  6. 7.python实现高效端口扫描器之nmap模块

    对于端口扫描,使用的最多的就是nmap这个工具,不想python已经强大到,提供了nmap这个扫描端口的模块. 本片文章主要介绍nmap模块的两个常用类: PortScanner()类,实现一个nma ...

  7. python自动化运维四:nmap端口扫描

    p { margin-bottom: 0.25cm; line-height: 120% } a:link { } 端口扫描器: Python的第三方模块python-nmap可以实现高效的端口扫描. ...

  8. 发邮件的python脚本

    1. 编写一个最简单的发邮件的python脚本   #coding: utf-8 import smtplib from email.mime.text import MIMEText from em ...

  9. Tomcat口令猜解工具【Python脚本】

    Tomcat 服务器网页部署,登录需用户名/密码,编写了一个简单的Python脚本来测试一些简单的弱口令. 测试环境:Tomcat版本 7.0 登录界面采用basic认证,Base 64加密一下,模拟 ...

随机推荐

  1. 你知道MySQL中的主从延迟吗?

    前言 在一个MySQL主备关系中,每个备库接受主库的binlog并执行. 正常情况下,只要主库执行更新生成所有的binlog,都可以传到备库并被正常的执行,这样备库就能够达到跟主库一样的状态,这就是最 ...

  2. MySQL开发规范与使用技巧总结

    命名规范 1.库名.表名.字段名必须使用小写字母,并采用下划线分割. a)MySQL有配置参数lower_case_table_names,不可动态更改,Linux系统默认为 0,即库表名以实际情况存 ...

  3. PHP 提交复选框数据

    PHP 提交复选框数据 前台,name要加 []: <input type="checkbox" name="cate[]" value="ca ...

  4. 领扣(LeetCode)N叉树的层序遍历 个人题解

    给定一个 N 叉树,返回其节点值的层序遍历. (即从左到右,逐层遍历). 例如,给定一个 3叉树 : 返回其层序遍历: [ [1], [3,2,4], [5,6] ] 说明: 树的深度不会超过 100 ...

  5. linux添加、删除、升级软件包 yum rpm dpkg

    1.红帽7主要采用yum和rpm SN command   1 rpm -qa --query  --all. 2 rpm -ql <package> 列出包中的文件 3 rpm -ivh ...

  6. connected datagram 与TCP连接的区别

    TCP连接流程是TCP协议的一部分,需要经过三次握手.而connected datagram虽然使用了socket的同样的函数connect,但是UDP协议并不包含连接流程,也就是UDP实际上并没有真 ...

  7. 无法优化的O(n!) 算法

    旅行商问题: 有一位旅行商,他需要前往5个城市. 要前往这5个城市,同时要确保旅程最短. 对于每种顺序,他都计算总旅程,再挑选出旅程最短的路线.5个城市有120种不同的排列方式.因此,在涉及5个城市时 ...

  8. 查看k8s中etcd数据

    #查看etcd pod kubectl get pod -n kube-system | grep etcd #进入etcd pod kubectl exec -it -n kube-system e ...

  9. 扛把子组2018092609-2 选题 Scrum立会报告+燃尽图 04

    此作业的要求参见[https://edu.cnblogs.com/campus/nenu/2019fall/homework/8682] 一.小组情况组长:迟俊文组员:宋晓丽 梁梦瑶 韩昊 刘信鹏队名 ...

  10. Linux(CentOS65)

    首先下载VMware,然后下载CentOS镜像文件,VM的版本尽量高一点,因为软件一般都有向下兼容性,如果版本太低,可能匹配不了CentOS. 安装VMTools工具 主要用于虚拟主机显示优化与调整, ...