first commit

This commit is contained in:
2025-10-20 12:32:18 +08:00
commit 2cfd7c5a08
121 changed files with 254585 additions and 0 deletions
+76
View File
@@ -0,0 +1,76 @@
import socket
import threading
from queue import Queue
import time
# 定义要检查的IP范围和端口
IP_BASE = "192.168.10."
START_IP = 1
END_IP = 255
TARGET_PORT = 5555
# 线程数量,可根据需要调整
THREAD_COUNT = 30
def check_port(ip, port, result_queue):
"""检查指定IP的端口是否开放"""
try:
# 创建socket对象
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 设置超时时间为1秒
sock.settimeout(1)
# 尝试连接
result = sock.connect_ex((ip, port))
if result == 0:
result_queue.put(ip)
sock.close()
except Exception:
pass
def worker(ip_queue, result_queue):
"""工作线程,从队列中获取IP并检查端口"""
while not ip_queue.empty():
ip = ip_queue.get()
check_port(ip, TARGET_PORT, result_queue)
ip_queue.task_done()
if __name__ == "__main__":
start_time = time.time()
print(f"开始扫描 {IP_BASE}{START_IP}{IP_BASE}{END_IP}{TARGET_PORT} 端口...")
# 创建IP队列
ip_queue = Queue()
for i in range(START_IP, END_IP + 1):
ip = f"{IP_BASE}{i}"
ip_queue.put(ip)
# 创建存储开放端口IP的队列
result_queue = Queue()
# 创建并启动线程
threads = []
for _ in range(THREAD_COUNT):
thread = threading.Thread(target=worker, args=(ip_queue, result_queue))
thread.start()
threads.append(thread)
# 等待所有IP都被处理
ip_queue.join()
# 收集结果
open_ips = []
while not result_queue.empty():
open_ips.append(result_queue.get())
# 排序结果
open_ips.sort(key=lambda x: int(x.split(".")[-1]))
# 输出结果
print("\n扫描完成!")
print(f"耗时: {time.time() - start_time:.2f}")
print(f"发现 {len(open_ips)} 个设备的 {TARGET_PORT} 端口开放:")
for ip in open_ips:
print(f" {ip}:{TARGET_PORT}")
+50
View File
@@ -0,0 +1,50 @@
# -*- mode: python ; coding: utf-8 -*-
block_cipher = None
a = Analysis(
['port.py'],
pathex=[],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False,
)
pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)
exe = EXE(
pyz,
a.scripts,
[],
exclude_binaries=True,
name='port',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
console=True,
disable_windowed_traceback=False,
argv_emulation=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
)
coll = COLLECT(
exe,
a.binaries,
a.zipfiles,
a.datas,
strip=False,
upx=True,
upx_exclude=[],
name='port',
)