python 多线程 实现端口扫描
来源:互联网 发布:网络棋牌信息 编辑:程序博客网 时间:2024/05/23 18:11
# -*- coding: utf-8 -*-#!/usr/bin/python2from socket import *import threading lock = threading.Lock()openNum = 0 def portScanner(host,port): global openNum try: s = socket(AF_INET,SOCK_STREAM) s.connect((host,port)) lock.acquire() openNum+=1 print('[+] %d open' % port) lock.release() s.close() except: pass def main(): setdefaulttimeout(1) for n in range(1,76): threads = [] #print (n-1)*880,n*880 for p in range((n-1)*880,n*880): t = threading.Thread(target=portScanner,args=('127.0.0.1',p)) threads.append(t) t.start() for t in threads: pass t.join()#在子线程完成运行之前,这个子线程的父线程将一直被阻塞。 print('[*] The scan is complete!') print('[*] A total of %d open port ' % (openNum)) if __name__ == '__main__': main()
执行结果:
[+] 135 open
[+] 443 open
[+] 903 open
[+] 913 open
[+] 1536 open
[+] 1537 open
[+] 1538 open
[+] 1542 open
[+] 1548 open
[+] 1556 open
[+] 2869 open
[+] 4000 open
[+] 4300 open
[+] 4301 open
[+] 5939 open
[+] 7680 open
[+] 8307 open
[+] 8363 open
[+] 8382 open
[+] 8911 open
[+] 8912 open
[+] 12037 open
[+] 12056 open
[+] 13790 open
[+] 14979 open
[+] 23405 open
[+] 28317 open
[+] 29917 open
[+] 49152 open
[+] 61078 open
[*] The scan is complete!
[*] A total of 30 open port
for p in range(1,1024):
t = threading.Thread(target=portScanner,args=('127.0.0.1',p))
threads.append(t)
t.start()
出错:thread.error: can't start new thread
本人计算机的最大并发线程是866,这里有1024,超过最大线程数导致出错
TCP/IP协议中的端口,端口号的范围从0到65535,扫描65535个端口的状况.
for n in range(1,76):
threads = []
#print (n-1)*880,n*880
for p in range((n-1)*880,n*880):
t = threading.Thread(target=portScanner,args=('127.0.0.1',p))
threads.append(t)
t.start()
for t in threads:
pass
t.join()#在子线程完成运行之前,这个子线程的父线程将一直被阻塞。
- python 多线程 实现端口扫描
- python使用socket实现多线程端口扫描
- Python 多线程端口扫描软件
- python多线程端口扫描程序
- Python多线程端口扫描工具
- 多线程实现端口扫描
- python实现端口扫描
- python实现端口扫描
- Python实现网段固定端口扫描
- 多线程端口扫描
- Python小练习-实现简单端口扫描~
- python端口扫描
- Python端口扫描
- 用python写的一个多线程的端口扫描
- Python中多线程和单线程端口扫描对比
- 简单实现C多线程端口扫描核心代码(转)
- 多线程端口扫描源码(C#)
- Python实现对一个网络段扫描及端口扫描
- JIT编译器里面的“逃逸分析”(Escape analysis)
- POJ 1617
- 前端的小玩意(16)——利用setter和getter实现数据校验
- STL VECTOR方法
- Windows下使用CMD命令复制多层级目录
- python 多线程 实现端口扫描
- JavaWeb三大技术之Filter
- Python学习笔记 5
- JavaScript—在嵌套的内部函数中调用外部this的方法
- mysql存储过程查询结果循环遍历 判断 赋值 游标等基本操作
- BeautifulSoup的基本用法
- 导入导出excel工具类地址
- 最容易入门的JVM讲解
- Codeforces Round #426 (Div. 2) A B C D E