网络测试常见操作
UDP的服务端和客户端
服务端
#coding=utf-8
import socket
class tuServer():
# host = ''
# port = ''
def udpT4(self, host, port):
udpT4Server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
udpT4Server.bind((host, int(port)))
print("***UDP-IPv4服务启动***")
while True:
udpT4Data, udpT4ServerInfo = udpT4Server.recvfrom(1024)
print("receive a message form:", udpT4ServerInfo, "data:", udpT4Data.decode())
def udpT6(self, host, port):
udpT6Server = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM)
udpT6Server.bind((host, int(port)))
print("***UDP-IPv6服务启动***")
while True:
udpT4Data, udpT6ServerInfo = udpT6Server.recvfrom(1024)
print("receive a message form:", udpT6ServerInfo[:2], "data:", udpT4Data.decode())
if __name__ == "__main__":
x = tuServer()
x.udpT4("1.2.3.5", 88)
x.udpT6("2025:304:1540:1:8000::196", 88)
客户端
# coding=utf-8
import socket
import time
class tuClient:
# V4客户端
def udpC4(self, host, port, host1, port1):
udpT4Client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
udpT4Client.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
udpT4Client.bind((host1, int(port1)))
print("...UDP IPv4 连接成功...")
while True:
time.sleep(1)
udpT4Client.sendto("hello v4 udp".encode(), (host, int(port)))
print("send a message hello", host,port)
# V6客户端
def udpC6(self, host, port, host1, port1):
udpT4Client = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM)
udpT4Client.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
udpT4Client.bind((host1, int(port1)))
print("...UDP IPv6 连接成功...")
while True:
time.sleep(1)
udpT4Client.sendto("hello v6 udp".encode(), (host, int(port)))
print("send a message hello", host,port)
if __name__ == "__main__":
x = tuClient()
# (对端IP,对端port,本端IP,本端port)
# x.udpC4("1.2.3.4", "7070", "1.2.3.5", "87")
x.udpC6("2025:304:1540:1:8000::220", "7070", "2025:304:1540:1:8000::2c6", "87")
启动https服务器
准备证书
openssl genpkey -algorithm RSA -out server.key
openssl req -new -x509 -key server.key -out server.crt
服务端代码
import BaseHTTPServer
import ssl
class MyRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
def do_GET(self):
self.send_response(200)
self.send_header('Content-type', 'text/html')
self.end_headers()
self.wfile.write("Hello, HTTPS World!")
server_address = ('', 4443)
httpd = BaseHTTPServer.HTTPServer(server_address, MyRequestHandler)
httpd.socket = ssl.wrap_socket(httpd.socket, keyfile="server.key", certfile="server.crt", server_side=True)
print("Starting HTTPS server on https://localhost:4443...")
httpd.serve_forever()
启动服务
python https_server.py