人性化交互式python脚本,采用多线程方式完成linux服务器开放端口扫描:

以下为完整代码:

#!/usr/bin/env  python

#-*- coding: UTF-8 -*-

#func: scan the open port of server

#author: youjiaLee

#time: 01/27/2013

import sys

import socket

import thread

import time

#START scanning

openPortNum=0

socket.setdefaulttimeout(3)

def usage():

print '''

Usage:

Scan the port of one IP: python scanPort.py -o

Scan the port of many IP: python scanPort.py -m

'''

print '\033[32;1mExit\n\033[0m'

sys.exit(1)

def socket_port(ip,PORT):

global openPortNum

if PORT > 65535:

print 'Port scanning beyond the port range,ending of the scan'

sys.exit()

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

#s.settimeout(float(1))

result = s.connect_ex((ip,PORT))

if(result == 0):

print ip,u":",PORT,u"is Open"

openPortNum += 1

s.close()

def start_scan(IP):

for port in range(0,65535+1):

thread.start_new_thread(socket_port,(IP,int(port)))

#To ensure that the first operation method in Seeker

time.sleep(0.006)

if __name__ == '__main__':        t = 0        if len(sys.argv)<2 or  sys.argv[1] == '-h' :                usage()        elif sys.argv[1] == '-o':                ONE_IP = raw_input('Please input ip of scanning: ')                t = time.time()                start_scan(ONE_IP)        elif sys.argv[1] == '-m':                MANY_IP = raw_input('Please input many ip of scanning: ')                IP_SEG = MANY_IP.split(',')                t = time.time()                for i in IP_SEG:                        start_scan(i)        print ''        print '\033[32;1mOpen port total is %s,Scan used time is: %f\n\033[0m' % ((openPortNum,time.time()-t))

linux 多线程端口扫描,python 多线程完成linux服务器端口扫描相关推荐

  1. python多线程爬虫实例-Python多线程爬虫简单示例

    python是支持多线程的,主要是通过thread和threading这两个模块来实现的.thread模块是比较底层的模块,threading模块是对thread做了一些包装的,可以更加方便的使用. ...

  2. c语言多线程转python多线程,真正的python 多线程!一个修饰符让你的多线程和C语言一样快...

    > Python 多线程因为GIL的存在,导致其速度比单线程还要慢.但是近期我发现了一个相当好用的库,这个库只需要增加一个修饰符就可以使原生的python多线程实现真正意义上的并发.本文将和大家 ...

  3. python多线程_【python多线程02】各种线程锁

    0x00 前言 本片文章讲述了小明同学在编写python多线程过程中遇到一些奇怪现象,小明根据这些奇怪现象挖掘背后的原因...通过遇到的问题,引申出全局解释器锁,同步锁,递归锁,信号量... 0x01 ...

  4. python多线程爬虫实例-Python多线程在爬虫中的应用

    题记:作为测试工程师经常需要解决测试数据来源的问题,解决思路无非是三种:(1)直接从生产环境拷贝真实数据 (2)从互联网上爬取数据 (3)自己用脚本或者工具造数据.前段时间,为了获取更多的测试数据,笔 ...

  5. python多线程爬虫实例-python多线程爬虫实例讲解

    Python作为一门强大的脚本语言,我们经常使用python来写爬虫程序,简单的爬虫会写,可是用python写多线程网页爬虫,应该如何写呢?一般来说,使用线程有两种模式,一种是创建线程要执行的函数,把 ...

  6. python退出多线程_退出python多线程编程的方法

    退出python多线程编程的方法 发布时间:2020-07-11 11:47:33 来源:亿速云 阅读:104 作者:清晨 小编给大家分享一下退出python多线程编程的方法,希望大家阅读完这篇文章后 ...

  7. python中执行linux命令(调用linux命令)_常见Python中调用Linux命令

    有时候我们需要从Python中执行Linux命令,下面就介绍几种方法? 1. os 模块: 1.1 os.system 函数: system方法会创建子进程运行外部程序,方法只返回外部程序的运行结果. ...

  8. 如何检测远程服务器端口是否打开,如何远程查看服务器端口是否打开

    1.安装telnet.我的win7下就没有telnet,在cmd下输入telnet提示没有该命令.于是我们进入控制面板---->程序---->打开或关闭windows功能.然后等一段时间, ...

  9. python的多线程应用前景_什么是线程(多线程),Python多线程的好处

    几乎所有的操作系统都支持同时运行多个任务,一个任务通常就是一个程序,每一个运行中的程序就是一个进程.当一个程序运行时,内部可能包含多个顺序执行流,每一个顺序执行流就是一个线程. 线程和进程 几乎所有的 ...

最新文章

  1. 为什么 Java 线程没有 Running 状态?一下被问懵!
  2. WebDAV服务漏洞利用工具DAVTest
  3. 谷歌极速人脸、手、人体姿态分析Blaze算法家族
  4. 解决mac下ssh空闲一段时间自动断开的问题
  5. db2建库、建表空间基本流程
  6. UML 统一建模语言Unified Modeling Language (UML)
  7. top刷新间隔_还在用top监控CPU?我们都在用glances
  8. 简述移动端常见的布局方式
  9. nginx linux脚本,控制 nginx shell脚本语言
  10. 无线路由器破解教程-CDlinux(by 星空武哥)
  11. 使用螺旋桨PaddleHelix完成RNA结构预测竞赛的前置基础知识整理
  12. DSP学习(3)—— DSP调试与追踪
  13. 超声波传感器测距c语言编程,如何DIY一个属于你的超声波测距传感器三:程序的构思和设计...
  14. 台式电脑主板插线步骤图_电脑主板开关接线图解教程(图文)
  15. Qt与云服务器项目,qt 云服务器
  16. 关于研究一个新领域,研究思路的总结
  17. PV、UV、IP分别是什么意思
  18. 九个帮你提高开发效率的现代CSS框架
  19. 新版百元纸币下月发行!这些防伪你要知道
  20. 【c语言】解释为什么32767+1=-32768

热门文章

  1. 普通人学python有用吗 知乎-哪些人更有必要学习python?老男孩教育python
  2. python和java哪个-Python和Java到底哪个更好?
  3. java开心农场安卓_开心农场之田园日记
  4. LeetCode Single Number III(位操作)
  5. BILIBILI 高并发实时弹幕系统的实战之路 | 架构师实践日
  6. 10012 - How Big Is It?
  7. 机器学习之类别性特征
  8. MongoDB GridFS 存储文件
  9. 博客基础_django_python从入门到实践_创建项目_创建应用
  10. CGAffineTransform的使用大概: