On Thu, 04 May 2017 10:26:45 GMT, alister <alister.w...@ntlworld.com> wrote: > On Wed, 03 May 2017 23:57:49 +0000, Peter Pearson wrote: > >> Cobbling together a minimalist ethernet-sniffing program, I was hoping >> to use this simple mechanism for setting the socket to "promiscuous >> mode" (to see all traffic going past, instead of just traffic addressed >> to my machine): >> >> s.ioctl(socket.SIO_RCVALL, socket.RCVALL_ON) >> >> Unfortunately, it seems that that mechanism is available under Windows >> but not under Linux. Googling around for Linux equivalents, I found >> only very contorted solutions, and concluded that maybe this lacuna >> persists because Linux users find it convenient to invoke promiscuous >> mode from the command line, instead: >> >> $ sudo ip link set eth0 promisc on $ netstat -i # (Verify >> that the P flag is set.) >> >> This somehow fails: my sniffer continues to see only broadcasts, >> but if I run dumpcap at the same time, dumpcap captures lots of traffic. >> >> So my question is now two questions: >> >> . Is it true that going permiscuous under Linux must be somewhat ugly? >> (It's OK if it is, I'll just copy the ugly code and get moving >> again.) >> >> . Why doesn't the command-line "promisc on" work? (Granted, this is >> maybe a Linux question.) >> >> Thanks. > > any particular reason why you wish to re-invent this particular wheel > when wireshark is freely available (& the de-facto tool of choice for > most network engineers)
I'm curious to survey all my LAN traffic in various ways, and it seems likely that I will see phenomena that I don't understand, and focussing in on those phenomena is likely to require more flexible filtering than Wireshark can provide. I expect to leave this process running for maybe 24 hours at a stretch, maybe longer, with real-time alerts when interesting things occur. Maybe Wireshark can do everything I'll ever need to do, but it seems so complicated, and Python seems so simple . . . -- To email me, substitute nowhere->runbox, invalid->com. -- https://mail.python.org/mailman/listinfo/python-list