какой язык лучше для захвата и обработки пакетов - PullRequest
2 голосов
/ 13 января 2010

Я хочу написать программу, которая имеет 2 потока, один поток непрерывно захватывает пакеты из сети и выгружает их в буфер каждые t секунды, а другой поток непрерывно читает этот буфер и обрабатывает его каждые t секунды. Может ли это быть сделано в C? или Java будет лучшим вариантом?

Ответы [ 3 ]

4 голосов
/ 13 января 2010
1 голос
/ 13 января 2010

Ответ здесь - знаменитый "libpcap". Используйте ваш любимый язык, если для него есть хорошая оболочка libpcap.

  • C / C ++ - это, конечно, идеальный выбор, если вам это нравится, так как вам не требуется никакой обертки.
  • JNetPcap (http://jnetpcap.com/) - это Java-упаковщик winpcap / libpcap
  • Sharpcap (http://www.codeproject.com/KB/IP/sharppcap.aspx?msg=2472909) - синтаксический анализатор libpcap на C #. Несколько раз назад я кое-что с ним делал.
  • ...

Так что выбирай свой язык, проверь наличие обёртки и продолжай. Если для этого языка нет оболочки, измените свой выбор или создайте свою собственную оболочку

0 голосов
/ 13 января 2010

Это, безусловно, можно сделать на C.

Выполнение этого в Java будет зависеть от того, есть ли у вас доступ к библиотеке захвата пакетов для Java (предполагается, что вы хотите захватывать произвольные пакеты, а не только те, которые специально предназначены для вашего приложения).

...