python黑帽子之tcp服务端
试着用python创建一个标准的多线程tcp服务器
import socket import threading bind_ip = "0.0.0.0" bind_port = 80#这要和客户端的端口匹配 server = socket.socket(socket.AF_INET,socket.SOCK_STREAM) server.bind((bind_ip,bind_port))#确定服务器需要监听的ip和端口 server.listen(5)#最大连接数为5 print("[*] Listening on %s:%d" % (bind_ip,bind_port)) #客户处理线程 def handle_client(client_socket): #打印客户端发送的内容 request = client_socket.recv(1024) print ("[*] Received: %s" % request) #返还一个数据包 client_socket.send(b"ACK!\r\n") client_socket.close() while True:#客户端成功建立连接的时候 client,addr = server.accept()#将接收到的客户端套接字对象保存到client变量中,将远程连接的细节保存到addr变量中 print("[*] Accepted connection from: %s:%d" % (addr[0],addr[1])) #挂起客户端的线程,处理传入的数据 client_handler = threading.Thread(target=handle_client,args=(client,)) client_handler.start()
试着用我们前面写的客户端来连接下这个服务端
成功连接
作者:清泉石上流
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。