Python sniffer :)

Jun 29, 2006 18:33


воть, ради баловства, давно хотел с raw socket'aми побаловаться)
3й параметр в s = socket.socket(…) - тип протокола (6 - tcp, 1 -icmp). можно получить через:

print socket.getprotobyname("tcp")

ну и в таком духе работает только под рутом и тока в линуксе (наверно):

import socket from select import select s = socket.socket(socket.AF_INET, socket.SOCK_RAW, 6) s.setsockopt(socket.IPPROTO_IP, socket.IP_HDRINCL, 1) s_list = [] s_list.append(s) while len(s_list)>0: sockets = select(s_list, [], [], 0) for s_ready in sockets: print repr(s.recv(1024))

hack, python

Previous post Next post
Up