Существует ли API для Wireshark, для разработки программ/плагинов, которые взаимодействуют с ним он? [закрытый]

17
задан jim 6 February 2010 в 15:50
поделиться

6 ответов

tshark предоставляет интерфейс командной строки для большинства функций Wireshark, если вы хотите использовать анализаторы протоколов и возможности управления данными Wireshark.

Если вы хотите покопаться в исходном коде Wireshark , у него есть несколько библиотек C, которые могут быть полезны, в частности, для прослушивания телефонных разговоров и epan. Примеры его использования можно найти в источнике tshark . Однако для использования библиотек вам придется построить немало строительных лесов.

Если вы хотите разработать плагины, эта страница может дать вам несколько ответов.

2
ответ дан 30 November 2019 в 14:25
поделиться

Мне не удалось найти никакой информации, указывающей на то, что это возможно, в руководстве разработчика . Так что это, кажется, означает "нет".

1
ответ дан 30 November 2019 в 14:25
поделиться

Поскольку существует по крайней мере один , который делает коммерческие продукты, которые в некоторой степени интегрируются с проволочными акулами, это должно быть возможно. Похоже, что непосредственная точка интеграции находится с данными, которые она производит согласно википедии, Wireshark использует libpcap. Быстрый поиск в Google показывает, что есть несколько опций

Scapy на самом деле выглядит довольно интересно, хотя на самом деле он ничего не делает для взаимодействия с wireshark, но вы можете перехватывать с его помощью пакеты.

0
ответ дан 30 November 2019 в 14:25
поделиться

Я использую pypcap для чтения пакетов и dpkt для анализа.

Например, чтобы использовать dpkt для чтения пакетов из сохраненного pcap:

import socket
import dpkt
import sys
pcapReader = dpkt.pcap.Reader(file(sys.argv[1], "rb"))
for ts, data in pcapReader:
    ether = dpkt.ethernet.Ethernet(data)
    if ether.type != dpkt.ethernet.ETH_TYPE_IP: raise
    ip = ether.data
    src = socket.inet_ntoa(ip.src)
    dst = socket.inet_ntoa(ip.dst)
    print "%s -> %s" % (src, dst)

Чтобы захватить фреймы с провода с помощью pypcap:

    import pcap
    pc = pcap.pcapObject()
    dev = sys.argv[1]
    pc.open_live(dev, 1600, 0, 100)
    pc.setfilter("udp port 53", 0, 0)
    while 1:
        pc.dispatch(1, p.pcap_dispatch)

Конечно, их можно использовать вместе: (скопировано с домашней страницы pypcap)

>>> import dpkt, pcap
>>> pc = pcap.pcap()
>>> pc.setfilter('icmp')
>>> for ts, pkt in pc:
...     print `dpkt.ethernet.Ethernet(pkt)`

Удачи!

6
ответ дан 30 November 2019 в 14:25
поделиться

Wireshark использует libpcap, эта библиотека абстрагирует различия платформ в сниффинге пакетов , а предоставляет формат для файлов данных . вот как я вставлял пакеты в wirehark.

0
ответ дан 30 November 2019 в 14:25
поделиться

Попробуйте сценарий lua, который есть в новых версиях wirehark ... вы можете написать собственные диссекторы (для ваших собственных протоколов и так далее).

http://wiki.wireshark.org/Lua

2
ответ дан 30 November 2019 в 14:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: