Здравствуйте. Возникла необходимость написать простой снифер, нужно снифать запросы браузера и парсить ответы на некотторые из них.
Так вот пришел к тому, что надо использовать RAW сокет вот код который получился:
HOST = socket.gethostbyname(socket.gethostname())
s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_IP)
s.bind((HOST, 0))
s.ioctl(socket.SIO_RCVALL, socket.RCVALL_ON)
packet = s.recv(10000)
То-есть теперь я могу отфильтровывать пакеты принадлежащие HTTP протоколу. Но проблема в том что я получаю только запросы. Как можно получить ответы (на HTTP запросы)? Заранее благодарен за Ваши ответы!