3

我要为大学开发一个嗅探软件。我有一些想法,但想听更多。这个想法是在防火墙的前面使用被动点击,以便获取所有数据......

我知道 C 更快,但我想用 python 做任何好主意,比如库等?

参考:

4

2 回答 2

12

使用pylibcap. 它为 libpcap 提供了一个接口,这是 Linux 上数据包嗅探的事实标准。要解析数据包,您可能需要使用该construct库,因为它已经包含一个 TCP 数据包解析器。

这是一个小示例程序:

import pcap
from construct.protocols.ipstack import ip_stack

def print_packet(pktlen, data, timestamp):
    if not data:
        return

    stack = ip_stack.parse(data)
    payload = stack.next.next.next
    print payload


p = pcap.pcapObject()
p.open_live('eth0', 1600, 0, 100)
p.setfilter('dst port 80', 0, 0)

print 'Press CTRL+C to end capture'
try:
    while True:
        p.dispatch(1, print_packet)
except KeyboardInterrupt:
    print # Empty line where ^C from CTRL+C is displayed
    print '%d packets received, %d packets dropped, %d packets dropped by interface' % p.stats()
于 2012-01-14T12:42:06.523 回答
1

为什么不使用 Scapy ?这是我所知道的最简单的方法,请参见下面的链接:

http://www.youtube.com/watch?v=c7ZdmnxPZw8

于 2014-09-24T18:04:13.223 回答