#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
# 编程思路
# 1、定义portscan函数,创建socket对象进行TCP端口扫描
# 2、启动多线程运行PortScan函数
# 3、记录并输出扫描结果与时间
import socket # 创建TCP连接
from threading import Thread # 多线程模块,进行多线程扫描
import time # 时间模块,记录扫描所需时间
def main():
target = input("IP:")
start_time = time.time()
s_time = time.ctime()
print("[*] Start port scan at %s" % s_time)
for port in range(1, 65536): # 定义扫描的端口范围
# 2、启动多线程运行PortScan函数
t = Thread(target=portscan, args=(target, port)) # 创建线程对象
t.start() # 开始线程
end_time = time.time()
print("[*] All done in %.2f s" % (end_time - start_time))
def portscan(target, port):
# 1、定义portscan函数,进行TCP端口扫描
try:
client = socket.socket(
socket.AF_INET, socket.SOCK_STREAM) # 创建socket对象
client.connect((target, port)) # 建立TCP连接
print("[*] %s:%d端口开放" % (target, port))
client.close()
except:
pass # 捕获异常
if __name__ == "__main__":
main()
python-多线程扫描端口是否开放
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 2019.3.20更新(将代码升级为非阻塞式多进程,效率极大提升)2019.6.28更新 (将代码模块化,复用性更...
- 版权声明:本文为博主原创文章,未经博主允许不得转载。 我就看了几天的python。这个作为练习,若有错误,望指出。...
- 前言 今天为大家一个利用Python扫描开放主机的TCP端口,首先你要查看其中的开放的端口,创建一个TCP全连接扫...