В this users example маршрут получен с использованием command line utility ip в linux. Пример вывода:Получить адрес источника с маршрута
$ ip route get 4.2.2.1
4.2.2.1 via 192.168.0.1 dev eth0 src 192.168.0.121
cache
$
Обратимся к адресам следующим образом:
4.2.2.1
, как адресA
(назначения)192.168.0.1
, как адресB
(шлюз)192.168.0.121
в качестве адресаC
(источник)
В моем случае меня интересует C
- и я пытаюсь выяснить, как я мог бы получить ту же самую информацию в моей программе c++. В частности
- Учитывая адрес
A
, найти адресC
- не хотите использовать system или что-нибудь, что будет каким-то образом запустить команду оболочки
- Использование boost допускается, и предпочтительным
Любые рекомендации ? Благодаря
Для чего вам нужен? C должен быть адресом eth0. Или важно для вас, через какой интерфейс вы будете маршрутизироваться? – mash
@mash Да, это важно - моя машина имеет несколько интерфейсов, поэтому я хотел бы узнать, какой из них был использован. – dtmland