Я хочу выяснить, вызывает ли мой компьютер какой-либо UDP-поток , исходящий из моей сети. Так что это моя основная проблема, а далее - просто попытка не-сетевого человека выдвинуть гипотезу решения с использованием python. Я экстраполирую из рецепта 13.1 («Передача сообщений с помощью дейтаграмм сокетов») из поваренной книги python (также здесь ).
Возможно ли / разумно / не безумно попытаться как-то написать исходящий UDP-прокси на python, чтобы исходящие пакеты могли быть зарегистрированы до отправки на их веселом пути? Если так, как бы это было? Основываясь на моих быстрых исследованиях, возможно, я мог бы запустить процесс сервера, прослушивающий подозрительные порты UDP, и регистрировать все, что отправлено, а затем переслать его, например:
import socket
s =socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind(("", MYPORT))
while True:
packet = dict(zip('data', 'addr'), s.recvfrom(1,024))
log.info("Recieved {data} from {addr}.".format(**packet))
Но как быть с этим одновременно для большого количества портов? Непрактичный? Есть ли недостатки или другие причины, чтобы не беспокоиться об этом? Есть ли лучший способ решить эту проблему (пожалуйста, будьте осторожны).