Как получить IP сервера pptp?

Parkho

Client
Регистрация
20.06.2014
Сообщения
131
Благодарностей
16
Баллы
18
IP клиента и индекс получаю без проблем, а вот где найти ip сервера? В свойствах интерфейса его же нет? Или я ошибаюсь? Пока пришло на ум только спарсить и разобрать route print без сниппетов :-)
Может есть более изящное решение? С роутами на шарпе вообще не сталкивался..
 

goingup

Client
Регистрация
10.09.2013
Сообщения
42
Благодарностей
13
Баллы
8
а почему не взять в вебе ? там и будет твой наружный ip...
 

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 519
Благодарностей
991
Баллы
113

lokiys

Moderator
Регистрация
01.02.2012
Сообщения
4 771
Благодарностей
1 182
Баллы
113

Parkho

Client
Регистрация
20.06.2014
Сообщения
131
Благодарностей
16
Баллы
18
Внутренний нужен, который я пометил.
 

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 519
Благодарностей
991
Баллы
113
А нах он тебе если не секрет? :-)
А так ipconfig /all > all.txt и парси all.txt
 

Parkho

Client
Регистрация
20.06.2014
Сообщения
131
Благодарностей
16
Баллы
18
А нах он тебе если не секрет? :-)
А так ipconfig /all > all.txt и парси all.txt
ну я почти так и делаю, только route print
в ipconfig /all его нет. Подключение идет без галки использовать основной шлюз.
нужен для ручного прописывания роута
 

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 519
Благодарностей
991
Баллы
113
бррррррр роутер купить.... :-)
реально посмотрел у меня его и так нету... хз даже не потестить...
А автоматом что с маршрутом то косяк или отваливаеться или прибиваешь?
 

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 519
Благодарностей
991
Баллы
113
Так стоп у тебя vpn жеж? Если это сторонний сервис меняй на openvpn там все подскажу )
 

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
786
Баллы
113
протестил на HMA под хрюшей - скрипт возвращает первый шлюз первого найденого интерфейса с именем interfacename
Код:
string interfacename = "vpn"; //ваше имя интерфейса
var network = System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces().Where(x => x.Name.Contains(interfacename));
if(network.Count() == 0) return "error: no such interface with name "+interfacename;
var gates = network.First().GetIPProperties().GatewayAddresses.Where(x => x.Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork);
if(gates.Count() == 0) return "error: no such gateway for interface "+interfacename;
return gates.First().Address.ToString();
 

Parkho

Client
Регистрация
20.06.2014
Сообщения
131
Благодарностей
16
Баллы
18
Так стоп у тебя vpn жеж? Если это сторонний сервис меняй на openvpn там все подскажу )
с openvpn свои косяки были с отключением. Я умею отключаться только завершением openvpn.exe :D В итоге на сервере получалось больше 5 сессий.
протестил на HMA под хрюшей - скрипт возвращает первый шлюз первого найденого интерфейса с именем interfacename
Код:
string interfacename = "vpn"; //ваше имя интерфейса
var network = System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces().Where(x => x.Name.Contains(interfacename));
if(network.Count() == 0) return "error: no such interface with name "+interfacename;
var gates = network.First().GetIPProperties().GatewayAddresses.Where(x => x.Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork);
if(gates.Count() == 0) return "error: no such gateway for interface "+interfacename;
return gates.First().Address.ToString();
спасибо за код, пробовал похожий. Шлюз вернет 0.0.0.0, он же не задан. Я так понимаю, мне нужно вытянуть nexthop для соединения.
 

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 519
Благодарностей
991
Баллы
113
Дык тебе отключаться от openvpn дык тут нет ничего сложного ваще )
 

Parkho

Client
Регистрация
20.06.2014
Сообщения
131
Благодарностей
16
Баллы
18
Дык тебе отключаться от openvpn дык тут нет ничего сложного ваще )
как? и мне в любом случае придется получать этот ип. В openvpn я его с лога подключения доставал. Но проблема в зависаниях сессий.
 

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 519
Благодарностей
991
Баллы
113
А как она зависает?
Не пойму зачем тебе внутренний то в итоге?
Ну достал ты его потом что с ним делать маршрут через него, а автоматом он не подымается? или ты все маршруты прибиваешь а этот тебе потом восстановить?
openvpn тебе подымет его автоматом... например... - значит осталась одна проблема зависание?
 

Parkho

Client
Регистрация
20.06.2014
Сообщения
131
Благодарностей
16
Баллы
18
Автоматом мне не нужно, интернет на ПК должен остаться прежний. С этим подключением я отдельно работать буду :-)
 

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 519
Благодарностей
991
Баллы
113
Думал всю ночь...
Как вариант подымать виртуалку с линухами... там то точно както можно )
 

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 519
Благодарностей
991
Баллы
113
Так а в реестре поищи это дело!!!
 

Parkho

Client
Регистрация
20.06.2014
Сообщения
131
Благодарностей
16
Баллы
18
ну такие костыли мне точно не подойдут)
сделал, как раньше и было, route print и оттуда нужный ip. В столбце gateway и будет nexthop.
еще вариант, использовать класс Win32_IP4RouteTable и брать nexthop для нужного подключения
возможно, nexthop можно и другим способом взять, я в шарпе не силен)
 
Последнее редактирование:

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)