LINUX.ORG.RU

[Python] Как перехватывать и расшифровывать пакеты с сетевого интерфейса


0

0

Всем привет.

Задача: сделать простенький наглядный софт, который в реальном времени покажет работу основной функции коммутатора - форвардинг. Решил решать с помощью linux-bridge. На первом этапе мне надо научиться перехватывать и расшифровывать пакеты с интерфейса. Знаю про libpcap. pypcap не собралась, pylibpcap не понравилась (нужно вручную разбирать пакет), со Scapy не разобрался, как перехватывать с интерфейса пакеты.

Помогите, пожалуйста. С остальным разберусь


Ответ на: комментарий от PoMbl4

Хм... А что-то такое, что сразу бы заголовки преобразовывало к читаемому виду, есть?

hc ()
Ответ на: комментарий от Boy_from_Jungle

Буду благодарен, хоть и не питон. Qt и там, и там одинаковое :)

hc ()
Ответ на: комментарий от real_maverick

У меня pypcap не собрался:

gcc -pthread -DNDEBUG -march=i686 -mtune=generic -O2 -pipe -march=native -mtune=native -O2 -pipe -fPIC -I/usr/include -I/usr/include/python2.6 -c pcap_ex.c -o build/temp.linux-i686-2.6/pcap_ex.o
pcap_ex.c: В функции ‘pcap_ex_fileno’:
pcap_ex.c:165:16: ошибка: доступ по указателю на неполный тип
pcap_ex.c: В функции ‘pcap_ex_next’:
pcap_ex.c:253:12: ошибка: доступ по указателю на неполный тип
error: command 'gcc' failed with exit status 1

hc ()
Ответ на: комментарий от hc

dpkt, кстати, тоже не собрался:

Traceback (most recent call last):
  File "setup.py", line 4, in <module>
    import dpkt
  File "/tmp/yaourt-tmp-hc/aur-dpkt/src/dpkt-1.6/dpkt/__init__.py", line 17, in <module>
    import bgp
  File "/tmp/yaourt-tmp-hc/aur-dpkt/src/dpkt-1.6/dpkt/bgp.py", line 678
    self.failUnless(c.as == 65215)
                       ^
SyntaxError: invalid syntax

hc ()
Ответ на: комментарий от hc

странно, все собирается без проблем, правда пробовал только на сервере под centOS 5.3

real_maverick ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.