需要Python的socket模块,windows使用netstat -an查看端口状态,Linux使用netstat -tunlp查看端口状态。

# client 客户端
# TCP必须建立连接
import socket   #导入模块
# SOCK_STREAM---TCP协议方式
# AF_INET----我的是ipv4地址
sp = 1
counts = 65535
for i in range(counts):
    #1,创建socket对象:指定传输协议
    s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    #2,建立连接发送连接请求  ip地址和端口号
    try:
        s.connect(('127.0.0.1',i+sp))
    except ConnectionRefusedError as e:
        #print("端口{}未开放。".format(i+sp))
        continue
    s.send("端口{}".format(i+sp).encode()) #只能发送字节流需要用encode转码字符串成字节,不然无法发送文件
    s.close()
    print("端口{}开放。".format(i+sp))