手头上有台闲置的米兔2S电话手表,固件版本是T13开头的,想看看ip地址有没有什么端口是开放便于调试的,所以利用python扫了一下,程序利用deepseek生成,结果扫一遍下来用了10分钟,答案是一个端口也没有开放:
import socket
import threading
import time
def scan_port(ip, port, timeout=1):
"""
扫描指定IP和端口
"""
try:
# 创建socket对象
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(timeout)
# 尝试连接
result = sock.connect_ex((ip, port))
sock.close()
if result == 0:
return True
else:
return False
except socket.error:
return False
def worker(ip, port_queue, results, timeout):
"""
工作线程函数
"""
while True:
try:
port = port_queue.pop(0)
except IndexError:
break
if scan_port(ip, port, timeout):
results.append(port)
print("端口 {}: 开放".format(port))
def main():
target_ip = "192.168.99.133"
start_port = 1
end_port = 63335
timeout = 1 # 超时时间(秒)
max_threads = 100 # 最大线程数
print("开始扫描 {} 的端口范围 {}-{}".format(target_ip, start_port, end_port))
start_time = time.time()
# 创建端口列表
ports = range(start_port, end_port + 1)
port_queue = list(ports)
results = []
# 创建并启动线程
threads = []
for i in range(min(max_threads, len(ports))):
thread = threading.Thread(target=worker, args=(target_ip, port_queue, results, timeout))
thread.daemon = True
thread.start()
threads.append(thread)
# 等待所有线程完成
for thread in threads:
thread.join()
# 显示结果
end_time = time.time()
print("\n扫描完成!")
print("总共扫描了 {} 个端口".format(len(ports)))
print("开放的端口数量: {}".format(len(results)))
print("开放的端口列表: {}".format(sorted(results)))
print("扫描耗时: {:.2f} 秒".format(end_time - start_time))
if __name__ == "__main__":
main()