python pdb is your friend

Yo! python debugger pdb in da place for handling npeid issue.

Little debugger but helpful :)

imhidden@Networker:/home/hidden# ./npeid.py

> /home/hidden/npeid.py(18)handleTcpStream()

-> toserver = tcp.server.data[:tcp.server.count]

(Pdb) n

> /home/hidden/npeid.py(19)handleTcpStream()

-> toclient = tcp.client.data[:tcp.client.count]

(Pdb) n

> /home/hidden/npeid.py(20)handleTcpStream()

-> ((src, sport), (dst, dport)) = tcp.addr

(Pdb) n

> /home/hidden/npeid.py(21)handleTcpStream()

-> scan_tcp_body = None

(Pdb) n

> /home/hidden/npeid.py(22)handleTcpStream()

-> proto = None

(Pdb) n

> /home/hidden/npeid.py(23)handleTcpStream()

-> if dport in (80, 8000, 8080):

(Pdb) n

> /home/hidden/npeid.py(24)handleTcpStream()

-> proto = “HTTP”

(Pdb) n

> /home/hidden/npeid.py(25)handleTcpStream()

-> header_len = toclient.find(‘\r\n\r\n’)

(Pdb) n

> /home/hidden/npeid.py(26)handleTcpStream()

-> get_request = toserver.split(‘\n’)[0][:-1]

(Pdb) n

> /home/hidden/npeid.py(27)handleTcpStream()

-> host = toserver.split(‘\n’)[1][:-1]

(Pdb) n

IndexError: ‘list index out of range’

> /home/hidden/npeid.py(27)handleTcpStream()

-> host = toserver.split(‘\n’)[1][:-1]

(Pdb) n

—Return—

> /home/hidden/npeid.py(27)handleTcpStream()->None

-> host = toserver.split(‘\n’)[1][:-1]

(Pdb) n

IndexError: ‘list index out of range’

> /home/hidden/npeid.py(70)main()

-> nids.run()

(Pdb) n

> /home/hidden/npeid.py(71)main()

-> except nids.error, e:

(Pdb) n

> /home/hidden/npeid.py(73)main()

-> except KeyboardInterrupt:

(Pdb) n

> /home/hidden/npeid.py(76)main()

-> except Exception, e:

(Pdb) n

> /home/hidden/npeid.py(77)main()

-> print sys.exc_info()

(Pdb) n

(<type ‘exceptions.IndexError’>, IndexError(‘list index out of range’,), <traceback object at 0x873b7d4>)

—Return—

> /home/hidden/npeid.py(77)main()->None

-> print sys.exc_info()

(Pdb) n

—Return—

> /home/hidden/npeid.py(80)<module>()->None

-> main()

(Pdb) n

Ho yeaaah! damn line number 27! After fixing:

1mh1dd3n@Networker:/home/h1dd3n# ./npeid.py

> /home/h1dd3n/npeid.py(18)handleTcpStream()

-> toserver = tcp.server.data[:tcp.server.count]

(Pdb) n

> /home/h1dd3n/npeid.py(19)handleTcpStream()

-> toclient = tcp.client.data[:tcp.client.count]

(Pdb) c

> /home/h1dd3n/npeid.py(18)handleTcpStream()

-> toserver = tcp.server.data[:tcp.server.count]

(Pdb) c

> /home/h1dd3n/npeid.py(18)handleTcpStream()

-> toserver = tcp.server.data[:tcp.server.count]

(Pdb) n

> /home/h1dd3n/npeid.py(19)handleTcpStream()

-> toclient = tcp.client.data[:tcp.client.count]

(Pdb) n

> /home/h1dd3n/npeid.py(20)handleTcpStream()

-> ((src, sport), (dst, dport)) = tcp.addr

(Pdb) n

> /home/h1dd3n/npeid.py(21)handleTcpStream()

-> scan_tcp_body = None

(Pdb) n

> /home/h1dd3n/npeid.py(22)handleTcpStream()

-> proto = None

(Pdb) n

> /home/h1dd3n/npeid.py(23)handleTcpStream()

-> if dport in (80, 8000, 8080):

(Pdb) n

> /home/h1dd3n/npeid.py(24)handleTcpStream()

-> proto = “HTTP”

(Pdb) n

> /home/h1dd3n/npeid.py(25)handleTcpStream()

-> header_len = toclient.find(‘\r\n\r\n’)

(Pdb) n

> /home/h1dd3n/npeid.py(26)handleTcpStream()

-> get_request = toserver.split(‘\n’)[0][:-1]

(Pdb) n

> /home/h1dd3n/npeid.py(27)handleTcpStream()

-> host = toserver.split(‘\n’)[0][:-1]

(Pdb) n

> /home/h1dd3n/npeid.py(28)handleTcpStream()

-> print “%s” % str(get_request)

(Pdb) n

> /home/h1dd3n/npeid.py(29)handleTcpStream()

-> print “%s” % str(host)

(Pdb) n

> /home/h1dd3n/npeid.py(30)handleTcpStream()

-> try:

(Pdb) n

> /home/h1dd3n/npeid.py(31)handleTcpStream()

-> gzip_data = toclient[header_len+4:]

(Pdb) n

> /home/h1dd3n/npeid.py(32)handleTcpStream()

-> gzip_data = StringIO.StringIO(gzip_data)

(Pdb) n

> /home/h1dd3n/npeid.py(33)handleTcpStream()

-> gzipper = gzip.GzipFile(fileobj=gzip_data)

(Pdb) n

> /home/h1dd3n/npeid.py(34)handleTcpStream()

-> scan_tcp_body = gzipper.read()

(Pdb) n

> /home/h1dd3n/npeid.py(40)handleTcpStream()

-> if scan_tcp_body.startswith(‘MZ’):

(Pdb) n

—Return—

> /home/h1dd3n/npeid.py(40)handleTcpStream()->None

-> if scan_tcp_body.startswith(‘MZ’):

(Pdb) n

—Call—

> /home/h1dd3n/npeid.py(7)handleTcpStream()

-> def handleTcpStream(tcp):

(Pdb) n

> /home/h1dd3n/npeid.py(9)handleTcpStream()

-> if tcp.nids_state == nids.NIDS_JUST_EST:

(Pdb) n

> /home/h1dd3n/npeid.py(10)handleTcpStream()

-> ((src, sport), (dst, dport)) = tcp.addr

(Pdb) n

> /home/h1dd3n/npeid.py(11)handleTcpStream()

-> if dport in (80, 8000, 8080) or sport == 20:

(Pdb) n

> /home/h1dd3n/npeid.py(12)handleTcpStream()

-> tcp.client.collect = 1

(Pdb) n

> /home/h1dd3n/npeid.py(13)handleTcpStream()

-> tcp.server.collect = 1

(Pdb) n

—Return—

> /home/h1dd3n/npeid.py(13)handleTcpStream()->None

-> tcp.server.collect = 1

Recent comments

Blog comments powered by Disqus