다른 컴퓨터로부터 데이터를 수신하기 위해 zmq를 사용하고 있습니다. 수신된 데이터를 네임스페이스를 통해 인터넷에 포맷하고 싶습니다. 나는 이 파이썬 스크립트를 만들었습니다:
import subprocess
import zmq
context = zmq.Context()
socket = context.socket(zmq.SUB)
socket.connect("tcp://10.1.24.50:4000")
socket.subscribe("")
while True:
print("message rcv")
data = socket.recv_string()
command = ['sudo', 'ip', 'netns', 'exec', 'ue1', 'ping', '-i', '1', '-c', '1', '-s', str(len(data)), '8.8.8.8']
print(data)
subprocess.run(command, input=data, text=True)
터미널에서 스크립트를 실행하면 다음과 같은 결과가 나타납니다.
message rcv
Lat 41.283637867194834, Lon=1.9846894680137672
PING 8.8.8.8 (8.8.8.8) 46(74) bytes of data.
54 bytes from 8.8.8.8: icmp_seq=1 ttl=114 time=184 ms
--- 8.8.8.8 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 184.334/184.334/184.334/0.000 ms
그러나 (wireshark를 사용하여) 전송된 데이터가 표시되지 않습니다.
내가 뭘 잘못했나요?