嗅探套接字通信 - Python

时间:2018-04-18 22:58:59

标签: python networking

我正在使用Socket通信来进行两次Raspberry Pi的通信。我正在使用python。该程序非常简单,因为我正在尝试测试套接字通信以及两个Pi如何进行通信。我想要的是从我的电脑中捕获流量(两个Pi的通信) 。问题是,当我在我的电脑上使用Wireshark时,我看不到两个Pi之间s.send()conn.sendall()产生的流量,我仍然是学生而且在网络方面不是很先进我不确定这个问题是否与Raspberry Pi,Networking或Wireshark有关。

这是第一个Raspberry Pi(服务器)的代码

import socket

host = ''
port = 5560

storedValue = "Yo, what's up?"

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host, port))
s.listen(1)
conn, address = s.accept()
print("Connected to: " + address[0] + ":" + str(address[1]))

while True:
        data = conn.recv(1024) # receive the data
        data = data.decode('utf-8')
        dataMessage = data.split(' ', 1)
        command = dataMessage[0]
        reply = storedValue
        s.close()
        conn.sendall(str.encode(reply))

conn.close()

这是针对第二个Raspberry Pi(客户端)

import socket

host = '192.168.2.2'
port = 5560

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((host, port))

while True:
    command = input("Enter you command: ")
    s.send(str.encode(command))
    reply = s.recv(1024)
    print(reply.decode('utf-8'))
s.close()

1 个答案:

答案 0 :(得分:0)

您可以将PC用作代理。

客户端将其数据发送到代理(在您的PC上运行),代理将其发送到服务器。 稍后,代理会从服务器接收答案并将其发送回客户端。

您可以查看此代理,例如pyproxy