На Linux я хочу получить многоадресный трафик только от определенного интерфейса. Таким образом, я привязываю интерфейс и порт с сокетом , затем присоединяюсь к параметре многоадресной группы по SetSockopt с помощью ip_add_membership . Вот код: < /p>
Я не могу получить многоадресный трафик группы 239.1.0.1, исходящий от 192.168.1.11. Если я привязываю INADDR_ANY вместо 192.168.1.11, он работает так, как ожидалось.
Из этого ответа кажется, что я могу привязать только INADDR_ANY и фильтруйте многоадресный трафик с помощью setockopt с опцией IP_ADD_MEMBERSHIP. Это правильно?
Спасибо.
На Linux я хочу получить многоадресный трафик только от определенного интерфейса. Таким образом, я привязываю интерфейс и порт с сокетом , затем присоединяюсь к параметре многоадресной группы по SetSockopt с помощью ip_add_membership . Вот код: < /p> [code]#include #include #include #include #include #include
#define PORT 60000 #define MULTICAST_IP "239.1.0.1" #define BUFFER_SIZE 1024
int main(int argc, char const *argv[]) { int sockfd; struct sockaddr_in servaddr, cliaddr; struct ip_mreq mreq; char buffer[BUFFER_SIZE];
socklen_t len = sizeof(cliaddr); char addr[17] = {0}; int n = recvfrom(sockfd, (char *)buffer, BUFFER_SIZE, MSG_WAITALL, (struct sockaddr *)&cliaddr, &len); buffer[n] = '\0'; inet_ntop(AF_INET, &cliaddr.sin_addr, addr, static_cast(sizeof(addr))); printf("Multicast message from %s received: %s\n", addr, buffer);
close(sockfd); return 0; }
[/code] Я не могу получить многоадресный трафик группы 239.1.0.1, исходящий от 192.168.1.11. Если я привязываю INADDR_ANY вместо 192.168.1.11, он работает так, как ожидалось. Из этого ответа кажется, что я могу привязать только INADDR_ANY и фильтруйте многоадресный трафик с помощью setockopt с опцией IP_ADD_MEMBERSHIP. Это правильно? Спасибо.
Согласно этой ссылке: использование system.net.networkinformation, есть ли способ привязать пинг с конкретным интерфейсом? ICMP не может быть связан с сетевым интерфейсом (в отличие от материала на основе сокетов):
Я строю пользовательский VPN, где пакеты от клиента перехватываются с использованием Windiverert, зашифрованы и отправляются на сервер. Сервер расшифровывает их, пересылает трафик в Интернет, отражает ответ, зашифрует его и отправляет обратно...
Привет всем, пожалуйста, помогите, как маршрутизировать или обойти VPN при перехвате сетевого трафика!
Я создаю приложение для Android с JAVA, которое перехватывает сетевой трафик, работая в фоновом режиме.
В настоящее время оно может перехватывать...
Привет всем, пожалуйста, помогите, как маршрутизировать или обойти VPN при перехвате сетевого трафика!
Я создаю приложение для Android с JAVA, которое перехватывает сетевой трафик, работая в фоновом режиме.
В настоящее время оно может перехватывать...
У меня есть личный домашний сервер под управлением Ubuntu. Я бы хотел, чтобы он перешел в спящий режим после того, как активность сервера замедлилась, чтобы снизить энергопотребление.
Я написал сценарий оболочки для проверки...