数据结构论坛

首页 » 分类 » 问答 » python客户端服务端通信实现,简单反
TUhjnbcbe - 2025/4/21 17:06:00
医治白癜风的著名专家 https://jbk.39.net/yiyuanzaixian/bjzkbdfyy/

今天的学习内容是如何用python编写一个tcp服务端,和客户端,它们之间是如何传输数据的,最后解释演示一下反弹shell是怎么实现的。

首先我们需要了解以下几个词是什么

c/s架构

c客户机s服务器

客户机向服务器发送请求,一直等待服务器返回相关数据然后反馈给客户机,客户机对信息进行分析处理,在返回相关信息给服务器。

c/s网络编程

服务端设置一个监听端点,能够监听请求,之后就是等待和处理请求的一个无线循环

客户端只要创建一个通信端点,建立与服务器的连接,就可以发送请求了

套接字

套接字是一种具有上面所说的“通信端点”概念的计算机网络数据结构,网络化应用程序在开始任何通讯之前,都必须创建套接字。

python支持的套接字:AF_UNIX,AF_NETLINKliunx支持,AF_INET,其中AF_INET是基于网络的套接字

python网络编程socket模块

socket模块的socket()函数用来创建套接字

创建一个tcp套接字

方法tcpsock=socket(socket.AFinet,socket.SOCK_STREAM(#基于tcp数据传输))

服务器端的套接字函数

s.bind()绑定地址(主机,端口)到套接字

s.listenn()开始tcp监听

s.accept()被动接受客户端连接,(阻塞式)等待连接的到来啊

客户端套接字函数

s.connet()主动初始化tcp服务器连接

s.connet_ex()connet函数的扩展版本,出错时返回错误代码,而不抛出异常

公用套接字函数

s.recv接受tcp数据

s.send发送tcp数据

s.sendall()完整发送tcp数据

s.recvfrom()接受udp数据

s.sendto()发送udp数据

s.getpeemame()连接到当前套接字的远端地址

s.getsockopt()返回指定套接字参数

s.setsockopt()设置指定套接字的参数

s.close()关闭套接字创建必须要关闭,不然会占用大量的内存空间,导致服务器运行缓慢等问题

如何用python创建客户端和服务端,让他们进行通信

1创建一个tcp服务器

ss=socket()#创建服务器套接字

ss.bind()#把地址绑定到套接字上

ss.listen()#监听连接

infloop#服务器无线循环

cs.recv()/cs.send#对话接受与发送

cs.close()#关闭客户端套接字

完整代码如下

2创建一个tcp客户端

cs.cocket()#创建客户端套接字

cs.connet()#尝试连接套接字

1
查看完整版本: python客户端服务端通信实现,简单反