rawソケットパケット転送用に次のpythonスクリプトを使用しています。パケット転送は問題ありませんが、相手側から着信パケットを印刷できません。Python raw socket receive issue
from socket import socket, AF_PACKET, SOCK_RAW
s = socket(AF_PACKET, SOCK_RAW)
s.bind(("eth0", 0))
src_addr = "\x54\xbe\xf7\x40\xf5\x82"
dst_addr = "\xff\xff\xff\xff\xff\xff"
payload = ("[("*30)+"Hello"+("]"*30)
checksum = "\x1a\x2b\x3c\x4d"
data = payload+checksum
s.send(dst_addr+src_addr+data)
#for receive function
response=s.recv(4096)
print response
s.close()
受信側何かエラーがありますか? printステートメントの出力は何ですか? – BrandonM
msgsを受信するサーバーは常にアクティブである必要がありますが、ソケットを閉じたようです。 –
いいえ "プリントレスポンス" Brandonからプリントを取得しています。それは待っているrecv fnで続ける。クライアントから受け取った後でさえ。 –