linux 多线程端口扫描,python 多线程完成linux服务器端口扫描
人性化交互式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服务器端口扫描相关推荐
- python多线程爬虫实例-Python多线程爬虫简单示例
python是支持多线程的,主要是通过thread和threading这两个模块来实现的.thread模块是比较底层的模块,threading模块是对thread做了一些包装的,可以更加方便的使用. ...
- c语言多线程转python多线程,真正的python 多线程!一个修饰符让你的多线程和C语言一样快...
> Python 多线程因为GIL的存在,导致其速度比单线程还要慢.但是近期我发现了一个相当好用的库,这个库只需要增加一个修饰符就可以使原生的python多线程实现真正意义上的并发.本文将和大家 ...
- python多线程_【python多线程02】各种线程锁
0x00 前言 本片文章讲述了小明同学在编写python多线程过程中遇到一些奇怪现象,小明根据这些奇怪现象挖掘背后的原因...通过遇到的问题,引申出全局解释器锁,同步锁,递归锁,信号量... 0x01 ...
- python多线程爬虫实例-Python多线程在爬虫中的应用
题记:作为测试工程师经常需要解决测试数据来源的问题,解决思路无非是三种:(1)直接从生产环境拷贝真实数据 (2)从互联网上爬取数据 (3)自己用脚本或者工具造数据.前段时间,为了获取更多的测试数据,笔 ...
- python多线程爬虫实例-python多线程爬虫实例讲解
Python作为一门强大的脚本语言,我们经常使用python来写爬虫程序,简单的爬虫会写,可是用python写多线程网页爬虫,应该如何写呢?一般来说,使用线程有两种模式,一种是创建线程要执行的函数,把 ...
- python退出多线程_退出python多线程编程的方法
退出python多线程编程的方法 发布时间:2020-07-11 11:47:33 来源:亿速云 阅读:104 作者:清晨 小编给大家分享一下退出python多线程编程的方法,希望大家阅读完这篇文章后 ...
- python中执行linux命令(调用linux命令)_常见Python中调用Linux命令
有时候我们需要从Python中执行Linux命令,下面就介绍几种方法? 1. os 模块: 1.1 os.system 函数: system方法会创建子进程运行外部程序,方法只返回外部程序的运行结果. ...
- 如何检测远程服务器端口是否打开,如何远程查看服务器端口是否打开
1.安装telnet.我的win7下就没有telnet,在cmd下输入telnet提示没有该命令.于是我们进入控制面板---->程序---->打开或关闭windows功能.然后等一段时间, ...
- python的多线程应用前景_什么是线程(多线程),Python多线程的好处
几乎所有的操作系统都支持同时运行多个任务,一个任务通常就是一个程序,每一个运行中的程序就是一个进程.当一个程序运行时,内部可能包含多个顺序执行流,每一个顺序执行流就是一个线程. 线程和进程 几乎所有的 ...
最新文章
- 为什么 Java 线程没有 Running 状态?一下被问懵!
- WebDAV服务漏洞利用工具DAVTest
- 谷歌极速人脸、手、人体姿态分析Blaze算法家族
- 解决mac下ssh空闲一段时间自动断开的问题
- db2建库、建表空间基本流程
- UML 统一建模语言Unified Modeling Language (UML)
- top刷新间隔_还在用top监控CPU?我们都在用glances
- 简述移动端常见的布局方式
- nginx linux脚本,控制 nginx shell脚本语言
- 无线路由器破解教程-CDlinux(by 星空武哥)
- 使用螺旋桨PaddleHelix完成RNA结构预测竞赛的前置基础知识整理
- DSP学习(3)—— DSP调试与追踪
- 超声波传感器测距c语言编程,如何DIY一个属于你的超声波测距传感器三:程序的构思和设计...
- 台式电脑主板插线步骤图_电脑主板开关接线图解教程(图文)
- Qt与云服务器项目,qt 云服务器
- 关于研究一个新领域,研究思路的总结
- PV、UV、IP分别是什么意思
- 九个帮你提高开发效率的现代CSS框架
- 新版百元纸币下月发行!这些防伪你要知道
- 【c语言】解释为什么32767+1=-32768
热门文章
- 普通人学python有用吗 知乎-哪些人更有必要学习python?老男孩教育python
- python和java哪个-Python和Java到底哪个更好?
- java开心农场安卓_开心农场之田园日记
- LeetCode Single Number III(位操作)
- BILIBILI 高并发实时弹幕系统的实战之路 | 架构师实践日
- 10012 - How Big Is It?
- 机器学习之类别性特征
- MongoDB GridFS 存储文件
- 博客基础_django_python从入门到实践_创建项目_创建应用
- CGAffineTransform的使用大概: