python内网即时通信小程序

根据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包进行确认,然后再传输第二个包,以此类推



  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值