Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Traceroute на C#. Вопрос по сетевым интерфейсам! / 2 сообщений из 2, страница 1 из 1
17.04.2011, 21:17
    #37220703
dpsNomak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Traceroute на C#. Вопрос по сетевым интерфейсам!
Всем здрасте!
Есть код (аналог тарсерта под win) :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
 public string Traceroute(string ipAddressOrHostName)
        {
            IPAddress ipAddress = Dns.GetHostEntry(ipAddressOrHostName).AddressList[0];
            StringBuilder traceResults = new StringBuilder();
            using (Ping pingSender = new Ping())
            {
                PingOptions pingOptions = new PingOptions();
                Stopwatch stopWatch = new Stopwatch();
                byte[] bytes = new byte[32];
                pingOptions.DontFragment = true;
                pingOptions.Ttl = 1;
                int maxHops = 30;
                traceResults.AppendLine(string.Format("Tracing route to {0} over a maximum of {1} hops:", ipAddress, maxHops));

                traceResults.AppendLine();
                for (int i = 1; i < maxHops + 1; i++)
                {
                    stopWatch.Reset();
                    stopWatch.Start();
                    PingReply pingReply = pingSender.Send( ipAddress, 5000, new byte[32], pingOptions);
                    stopWatch.Stop();
                    traceResults.AppendLine(string.Format("{0}\t{1} ms\t{2}", i, stopWatch.ElapsedMilliseconds, pingReply.Address));

                    if (pingReply.Status == IPStatus.Success)
                    {
                        traceResults.AppendLine();
                        traceResults.AppendLine("Trace complete."); 
                        break;
                    }
                    pingOptions.Ttl++;
                }
            }
            return traceResults.ToString();
        }

Вопрос в следующем. Как можно задать сетевой интерфейс(или айпи интерфейса) с какого будет проводиться прокладывание трассы до заданного узла.
Тоесть, предположим у меня 2 сетевые с 2-я провайдерами. И мне нужно проводить трасерт по каждому из них (на выбор). Спасибо!
...
Рейтинг: 0 / 0
17.04.2011, 21:22
    #37220707
Гордый Корень
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Traceroute на C#. Вопрос по сетевым интерфейсам!
не исключено, что никак.

если только лезть поглубже в системные настройки... хотя дотнет програме не к чему знать через какой интерфейс идет сеть... да и вообще сетевые настройки в большинстве тож ни к чему =)
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Traceroute на C#. Вопрос по сетевым интерфейсам! / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]