Как получить информацию о пакете на узле пограничного маршрутизатора?

Я установил связь между udp-сервером и udp-клиентом через узел пограничного маршрутизатора. Он может общаться от клиента к серверу.

У меня возникли трудности с получением информации о пакетах, например... IP-адрес источника, IP-адрес назначения на узле пограничного маршрутизатора?? Я могу получить его на узле сервера, но как получить то же самое на узле пограничного маршрутизатора?


person sagar    schedule 04.03.2015    source источник


Ответы (1)


При получении маршрутизатором пакет маршрутизируется функцией tcpip_ipv6_output в файл tcpip.c. Вы можете активировать PRINTF этого файла, установив для макроса DEBUG значение DEBUG_PRINT.

В этой функции вы можете получить адреса источника и назначения с помощью UIP_IP_BUF->destipaddr и UIP_IP_BUF->srcipaddr. Проверьте, например, когда маршрут к месту назначения просматривается в таблице маршрутизации:

uip_ds6_route_t *route;
/* Check if we have a route to the destination address. */
route = uip_ds6_route_lookup(&UIP_IP_BUF->destipaddr);
person audeoudh    schedule 13.03.2015
comment
Спасибо за помощь. Есть ли способ отправить или запросить данные (временные) из linux, чтобы соединить их с пограничным маршрутизатором или использовать scapy, например, инструменты для отправки пакетов. - person sagar; 13.03.2015
comment
Если я хочу сбросить пакет на маршрутизаторе, то что делать ... я создал один черный список IP-адресов - person sagar; 13.03.2015
comment
@sagar: я вижу два решения, позволяющих занести IP-адрес в черный список. Либо удалите его адрес из таблицы маршрутизации (см. uip_ds6_route_rm), это может быть проблематично, если IP-адрес соответствует большому префиксу в вашей таблице маршрутизации. Или изменить исходный код функции tcpip_ipv6_output, проверив в нем, находится ли IP-адрес назначения в черном списке, и если да, то просто return из этой функции. - person audeoudh; 13.03.2015
comment
Спасибо @ryolait, вы спасли мой день .. Теперь последняя проблема заключается в том, что после SLIP-подключения к пограничному маршрутизатору, как я могу отправить запрос TCP, UDP или ICMP с хост-машины Linux, которая отправляет пакеты с другого адреса .. поэтому моя задача - создать сценарий запроса узел из 100 различных источников. Я попробовал инструмент scapy, но не смог подключить интерфейс к tun0, он показывает ошибку для tun0. Любой другой способ генерировать такой трафик ?? заранее спасибо - person sagar; 13.03.2015
comment
@sagar: я немного слышал о scapy, но недостаточно, чтобы помочь вам в этом вопросе. Если вы пытаетесь получить пакеты, сгенерированные только с компьютера с Linux, я думаю, вам следует задать другой вопрос о stackoverflow с большим количеством соответствующих тегов. Вы получите лучшие советы, чем мои. - person audeoudh; 14.03.2015