python内网即时通信小程序

本文通过Python实现了一个简单的即时通信系统,类似于QQ的功能。利用TCP协议,在两个进程间建立了通信通道,并展示了如何在Kali环境下运行server.py和client.py两个脚本来实现消息的发送与接收。此外,还介绍了如何使用Wireshark对数据包进行抓取和分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

根据TCP协议,使用python在两进程之间建立通信,来模拟一个即时通信,类似于QQ

环境:kali 一个server.py和client.py

sever.py
# -*- coding: utf-8 -*
#Server.py
import socket
host = socket.gethostname()
port = 12345
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host, port))
s.listen(1)
sock, addr = s.accept()
print "Linked"
info = sock.recv(1024)
while info != "exit":
    print "From Others : "+info
    send_mes = raw_input("")
    sock.send(send_mes)
    if send_mes == "exit":
        break
    info = sock.recv(1024)
sock.close()
s.close()

client.py
# -*- coding: utf-8 -*
#Client.py
import socket              
s = socket.socket()         
host = socket.gethostname() 
port = 12345               
s.connect((host, port))
print "Linked"
info = ""
while info != "exit":
    print "From Others: "+info
    send_mes = raw_input("")
    s.send(send_mes)
    if send_mes == "exit":
        break
    info = s.recv(1024)
s.close()


二个脚本需要同时运行,结果如下图


在kali上抓包简要分析一下






可以看出来我们刚刚之间传输的数据,从wireshark可以分析得到是使用TCP协议,发送一个包后会返回一个ACK包进行确认,然后再传输第二个包,以此类推



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值