Как программно собирать пакеты из пассивного сниффинга?

Я хочу проверить уязвимость сервера, который я только что написал, против атак «человек посередине».

Как (в Mac OS X) анализировать пакеты. (Я буду проверять, куда они направляются, получать информацию о том, направляются ли они на мой сервер, и смотреть, что все доступно). Затем я найду способ зашифровать все... но обо всем по порядку.

Любая помощь в анализе пакетов будет принята с благодарностью.

Мой предпочтительный язык — java. Но я умею на С++.

Итак, мой вопрос: «Есть ли какой-либо API/библиотека, с которой я могу взаимодействовать?»

Например, если бы я мог сделать PacketSniffer ps = new PacketSniffer(); это было бы потрясающе.


person NullVoxPopuli    schedule 26.09.2010    source источник


Ответы (4)


Лучшей переносимой библиотекой для этого является libpcap. Для него даже доступна java-оболочка.

person Chris Dodd    schedule 26.09.2010

Не нужно писать свой собственный — загрузите Wireshark с http://www.wireshark.org/.

person Jim Garrison    schedule 26.09.2010
comment
есть ли способ, которым я мог бы взаимодействовать с ним из программы, которую я пишу? - person NullVoxPopuli; 26.09.2010
comment
например, как я могу получить пакеты в свой код для анализа? - person NullVoxPopuli; 26.09.2010
comment
Да. Вы можете получить доступ к библиотеке захвата пакетов, libpcap. Wireshark использует libpcap для фактического захвата. - person Jim Garrison; 26.09.2010

Wireshark и KisMAC предлагает загрузку исходного кода и работает на MacOS X. Вы можете удалить оттуда необходимый код (если он предназначен только для внутреннего использования).

person Eugene Mayevski 'Callback    schedule 26.09.2010