В Boost ASIO как настроить исходный IP-адрес для олицетворения IP-адреса другого сервера?
У меня есть серверная программа на C ++ Boost ASIO, и я хотел бы иметь возможность установить исходный IP-адрес, используемый TCP, на адрес другого сервера. Я знаю, что можно прочитать IP-адреса источника и назначения, но предположительно они также могут быть установлены?
Предположительно, если я установлю «неправильный» IP-адрес источника в коде C ++, произойдет некоторое взаимодействие с сетевым стеком. Не будет ли сетевой стек переустанавливать исходный IP-адрес на выходе, даже если код C ++ правильный? Правильный ли способ сделать это, чтобы написать C ++ ASIO-код для выбора конкретного виртуального сетевого интерфейса? Тот, который настроен с «неправильным» статическим IP-адресом? Я видел это раньше как способ управления IP-адресом источника. Это то, что мне нужно сделать вместо этого?
Мне интересно, каковы будут последствия этого. Наличие двух машин с одинаковым статическим IP-адресом может привести к тому, что «обычный» сервер полностью перестанет работать, что может быть плохо.
У меня есть порты Windows и Linux моего сервера, которые я могу использовать в случае, если предложенный код будет работать на одной ОС, а не на другой. В настоящее время я склоняюсь к Kali Linux, так как могу «взломать» главный сервер и эффективно отключить его на некоторое время.