JAVA, C++ Реализовать JNI для работы с raw sockets под FreeBSD

1 000 руб.за час • наличный расчёт, безналичный расчёт, электронные деньги
29 января 2018, 15:42 • 2 отклика • 47 просмотров
Интерфейс должен позволить реализовать в JAVA указанный ниже кейс (python).
Нужна сборка интерфейса под FreeBSD 11.1 и рабочий пример использования на JAVA
Можно опереться на https://github.com/mlaccetti/rocksaw или написать свой (если так проще)

import socket

from struct import unpack


IPPROTO_DIVERT = 258

IPDIVERT_PORT = 199


recv_socket = socket.socket(socket.AF_INET, socket.SOCK_RAW, IPPROTO_DIVERT)

recv_socket.bind(('0.0.0.0',IPDIVERT_PORT))


while (1):

packet = recv_socket.recvfrom(65565)[0]
iph = unpack('!BBHHHBBH4s4s',packet[0:20])

iph_length = (iph[0] & 0xF) * 4

data = packet[iph_length+8:]
...
Отзывы
R50 04efc8eada680f699779234b4d77bece
Заказчик
Быстро реализовал задачу и внес необходимые правки. Хороший код. Сотрудничеством доволен.
7 лет назад
R50 cdec1ee466d76376f4ca3354fb89f89b
Фрилансер
Ясная постановка задачи. Оперативная коммуникация и оплата. Однозначно рекомендую.
7 лет назад