Похоже, что нет метода, основанного на API, который вы можете вызвать. Если бы он был, он был бы в родительском классе пакетов, , который находится здесь.
Как правило, такого рода вещи будут рассматриваться в потоках, где у вас есть поток TCP или поток UDP. Но, к сожалению, нет.
Вы должны быть в состоянии положиться на instanceof
, но очевидно, что api reliance предпочтительнее, чем instanceof
.
Другой вариант - использовать метод header()
. Похоже, что протокол хранится в заголовке IP, к которому у вас должен быть доступ. Эта страница , по-видимому, иллюстрирует заголовок IP, и что 6 будет номером протокола TCP, а 17 - UDP.
Фактически, константы jpcap.Packet.IPPROTO_TCP
и jpcap.Packet.IPPROTO_UDP
, вероятно, соответствуют этим значениям. Похоже, вам лучше всего разобрать заголовок.