Чтение заголовков IP-уровня с использованием сокетов Java - PullRequest
1 голос
/ 18 марта 2019

Есть ли способ (в Java) читать заголовки IP-уровня (меня интересуют src & dst IP), используя сокет TCP или UDP?

Я знаю, что возможно использовать pcap (захват пакета), но я не нашел способа сделать это с помощью сокетов. В чем причина этого?

Ответы [ 2 ]

1 голос
/ 18 марта 2019

На уровне операционной системы вам нужно raw сокеты для доступа к заголовкам IP-уровня. Но, к счастью, чистые сокеты не существуют в чистой Java, поэтому вам необходим собственный код для создания соответствующих системных вызовов.

Существуют библиотеки Java, которые используют компонент JNI для собственных вызовов. Одним из примеров (который я успешно использовал в прошлом) является Rocksaw .

0 голосов
/ 18 марта 2019

Вы можете просто открыть / dev / socket как InputStream и прочитать данные, поступающие в сокет.

...