2
에 의해 나는 tcpreplay와 함께 연주하고있어 멀티 캐스트 패킷 캡처를 가지고 있지 관심이 있습니다 (224.0.23.60:4937). 멀티 캐스트 Wireshark를 볼하지만 응용 프로그램
그러나 다음과 같은 파이썬 응용 프로그램은 패킷 찾을 수 없습니다 :import socket
import struct
MCAST_GRP = '224.0.23.60'
MCAST_PORT = 4937
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sock.bind((MCAST_GRP, MCAST_PORT)) # use MCAST_GRP instead of '' to listen only
# to MCAST_GRP, not all groups on MCAST_PORT
mreq = struct.pack("4sl", socket.inet_aton(MCAST_GRP), socket.INADDR_ANY)
sock.setsockopt(socket.IPPROTO_IP, socket.IP_ADD_MEMBERSHIP, mreq)
while True:
print '#'
print sock.recv(64)
NETSTAT -g 다음과 같은 출력을주고있다 :
lo 1 all-systems.mcast.net
eth0 1 224.0.23.60
내가 여기서 뭔가를 놓치고 있습니까?
[편집] 내 패킷 캡처의 IP src가 동일한 네트워크 하위 도메인 (ip src : 192.168.1.10)에 있지 않다는 점을 분명히해야합니다. 반면 내 ip는 146.186.197.164와 비슷합니다.
tcpreplay? 멀티 캐스트는 UDP라고 생각 했나요? –
분명히 tcpreplay는 wudark에서 udp mulitcast 패킷을 볼 수 있기 때문에 udp 패킷을 재생할 수 있습니다. –
귀하의 앱이 아무 것도 보내지 않습니다 [이 내용 확인] (https://stackoverflow.com/questions/12607516/python-udp-broadcast-not-sending) – dsgdfg