Диагностика UDP
От: Gattaka Россия  
Дата: 17.05.16 17:39
Оценка:
Коллеги,
Скажу сразу вопрос нубский. Имеется Windows 8, статический IP адрес, подключение через wifi по роутеру. Создается VPN соединение с сторонней сеткой, дальше я слушаю с определенного IP на определенном порте:
    while(1) {
        int res=recvfrom(sd,(char*)buf,sizeof(buf),0, (SOCKADDR *)& Sender, &SenderAddrSize);
        seq = *(UINT32*)buf;
        printf("%12s:seq=%6d:len=%4d\n", inet_ntoa(Sender.sin_addr), seq, res);
    }


Собственно ничего не приходит, вопрос в том как проводить диагностику. Где застревают пакеты? Это может быть мой интернет провайдер, мой роутер (но там вроде бы все порты прокинуты), либо у меня что-то не правильно. Какие утилиты под Windows есть, с чего начать?

P.S. ping на удаленных серверах выключен.
Re: Диагностика UDP
От: Mr.Delphist  
Дата: 17.05.16 18:23
Оценка: 3 (1) +3
Здравствуйте, Gattaka, Вы писали:

G>Собственно ничего не приходит, вопрос в том как проводить диагностику. Где застревают пакеты? Это может быть мой интернет провайдер, мой роутер (но там вроде бы все порты прокинуты), либо у меня что-то не правильно. Какие утилиты под Windows есть, с чего начать?


Начать с WireShark. Если есть возможность, то запустить его на обоих сторонах (и клиент, и сервер).
Re: Диагностика UDP
От: Voseldop  
Дата: 18.05.16 16:14
Оценка:
Здравствуйте, Gattaka, Вы писали:

G>P.S. ping на удаленных серверах выключен.


Выключен только Ping или icmp полностью закрыт файрволлом?

wireshark/tcpdump на обеих сторонах посмотреть есть ли udp пакеты.

Если пакеты есть — смотреть через netstat куда прибиндился сокетом и т.д.
Если пакетов нет traceroute/tracert и смотреть путь прохождения пакетов.
Re: Лист бумаги и карандаш.
От: Stanislaw K СССР  
Дата: 19.05.16 12:29
Оценка:
Здравствуйте, Gattaka, Вы писали:

G>Коллеги,

G>Скажу сразу вопрос нубский. Имеется Windows 8, статический IP адрес, подключение через wifi по роутеру. Создается VPN соединение с сторонней сеткой, дальше я слушаю с определенного IP на определенном порте:
G>Собственно ничего не приходит, вопрос в том как проводить диагностику. Где застревают пакеты? Это может быть мой интернет провайдер, мой роутер (но там вроде бы все порты прокинуты), либо у меня что-то не правильно.

Я не понял, пакет должен приходить по VPN ? Тогда при чем тут провайдер и роутер?

В firewall на VPN адаптере разрешен UDP трафик?
Разрешен с обоих сторон?
Если вторая сторона не vpn сервер, то на VPN сервере разрешен?
UDP трафик на это порт?
и тд...

G>Какие утилиты под Windows есть, с чего начать?


Банально, для первичной диагностики — листок бумаги и карандаш. Нужно нарисовать как оно соединено на самом деле и как в этой схеме ходят IP пакеты.
Все проблемы от жадности и глупости
Re: Диагностика UDP
От: Vetal_ca Канада http://vetal.ca
Дата: 13.06.16 15:26
Оценка: +1
Здравствуйте, Gattaka, Вы писали:


G>Собственно ничего не приходит, вопрос в том как проводить диагностику. Где застревают пакеты? Это может быть мой интернет провайдер, мой роутер (но там вроде бы все порты прокинуты), либо у меня что-то не правильно. Какие утилиты под Windows есть, с чего начать?


G>P.S. ping на удаленных серверах выключен.


Выключен на public IP?

Или запрещен и на VPN соединении? Что само по себе не нужно.

Причин может быть много,

1. Закрыт VPN в Firewall (sudo ufw allow out on <vpn_tun> && sudo ufw allow in on <vpn_tun>)
2. Нет пути (route) от клиента к серверу (netstat -rn)
3. Нет пути от сервера к клиенту (ip route list) — частая ошибка, т.к. начинающие предполагают, если запрос дошел до сервера, то он уйдет опбратно
4. не настроен раутинг на сервере (/etc/default/ufw: DEFAULT_FORWARD_POLICY="ACCEPT", http://www.ducea.com/2006/08/01/how-to-enable-ip-forwarding-in-linux/)

Вообще, tcpdump/wireshark и промучаться один раз самому.
Re: Диагностика UDP
От: AlexNek  
Дата: 19.01.17 22:21
Оценка:
Здравствуйте, Gattaka, Вы писали:

G>Коллеги,

G>Скажу сразу вопрос нубский. Имеется Windows 8, статический IP адрес, подключение через wifi по роутеру. Создается VPN соединение с сторонней сеткой, дальше я слушаю с определенного IP на определенном порте:


G>Собственно ничего не приходит, вопрос в том как проводить диагностику. Где застревают пакеты? Это может быть мой интернет провайдер, мой роутер (но там вроде бы все порты прокинуты), либо у меня что-то не правильно. Какие утилиты под Windows есть, с чего начать?


G>P.S. ping на удаленных серверах выключен.

до конца не разобрался, но похоже UDP имеет много особенностей. По крайней мере, в пакете есть порт источника и порт назначения. И мультикаст пакеты проходят только через определенное количество роутеров.
Для начала попробуйте без VPN с Wireshark, что бы удостоверится что пакет действительно приходит туда где слушается.
Nmap еще есть под винду.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.