[Twisted-Python] sniffing multicast traffic
Phil Mayers
p.mayers at imperial.ac.uk
Wed Mar 10 07:03:18 EST 2010
On 10/03/10 10:35, Ben Barker wrote:
> Hello - I wonder if someone can help:
>
> We have some status info being sent by various machines using
> multicast addressed udp packets. I have been attempting to use twisted
> to write a python script that will passively monitor on the relevant
> port for any udp packets with the specified multicast address, which I
> can then parse the payloads of as required.
>
> I have been looking at the examples here:
>
> http://code.activestate.com/recipes/425975-simple-udp-multicast-client-server-using-twisted/
>
> But I seem to have trouble getting them to receive anything at all.
That's a little vague. Does "trouble" mean "it sometimes works" or
"never works"?
>
> I have managed to use tshark to display the packets :
>
> tshark -i eth0 -x -l -f udp
>
> so I know the data is there (coming isn on address 224.0.0.4, port 901)
FYI, the 224.0.0.0/24 group is usually not IGMP snooped, and is
effectively therefore broadcast.
Conversely, groups outside this range require working IGMP querying /
snooping and some help from (usually) a router, so this may be why you
chose this range.
Broadly speaking, as long as the UDP socket is listening on the right
port and you've called joingroup, you should be ok.
Can you post a complete example that isn't working for you?
When your code is running, have a look "/sbin/ip maddr" to ensure the
group has been added to the socket listen filter.
More information about the Twisted-Python
mailing list