Заблокирован

Как узнать IP компьютера?

09.11.2015, 17:04. Показов 6420. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
нашел в инете такой способ
C#
1
2
var myHost = System.Net.Dns.GetHostName();
var myIP = System.Net.Dns.GetHostByName(myHost).AddressList[0].ToString();
но во первых мне пишет такое предупреждение (может ерунда конечно):

Предупреждение CS0618 'Dns.GetHostByName(string)" является устаревшим: 'GetHostByName is obsoleted for this type, please use GetHostEntry instead. http://go.microsoft.com/fwlink/?linkid=14202'

во вторых еще в одном месте я нашел точно такой же способ, но AddressList[1] там получается одно число другое, не знаю какой правильный, но вроде бы в свойствах подключения компа стоит именно тот который AddressList[0]

и в третьих если я например зайду на какой нибудь сайт типа 2ip.ru то я вижу уже вообще другой ip, ни первый ни второй, т.е. они начинаются как любой localhost - "192.168..." а этот "94.181..." и т.д.

вот и как таки узнать?

Добавлено через 4 минуты
Цитата Сообщение от Volrajas Посмотреть сообщение
please use GetHostEntry instead
а если юзать GetHostEntry то получается вообще какая то околесица не похожая на IP адрес типа "fe80::799..."
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.11.2015, 17:04
Ответы с готовыми решениями:

Как програмно узнать конфигурацию компьютера
Как програмно узнать конфигурацию PC(CPU,MB,...)?

Как в коде узнать конфигурацию компьютера
Доброго времени суток! Подскажите, пожалуйста, можно ли как-то в своей программе автоматически получить данные о конфигурации...

Как узнать время с момента выхода компьютера из режима гибернации
Стоит задача: Как узнать время с момента выхода компьютера из режима гибернации с помощью C#?

8
 Аватар для Komaryan
16 / 16 / 10
Регистрация: 23.03.2010
Сообщений: 103
09.11.2015, 17:23
1. AddressList[0] - это и есть ip ТВОЕЙ сетевой карты
2. а этот "94.181..." - это внешний ip который тебе выдает сервак (к которому конектится твой роутер)
3. AddressList[1] - точно не помню, но вроди как шлюз
1
Заблокирован
09.11.2015, 17:28  [ТС]
Komaryan, т.е. AddressList[1] отпадает как я понял? тогда как из этих двух (AddressList[0] / "внешний ip") выбирать? и кстати как получить этот внешний ip?
0
44 / 33 / 14
Регистрация: 27.04.2012
Сообщений: 153
10.11.2015, 10:02
Лучший ответ Сообщение было отмечено Volrajas как решение

Решение

Для IP компа нашел вот это
C#
1
2
3
4
5
6
7
8
9
10
11
private string GetMyIP()
        {
            IPHostEntry host = Dns.GetHostEntry(Dns.GetHostName());
            foreach (IPAddress ip in host.AddressList)
            {
                if (ip.AddressFamily == AddressFamily.InterNetwork)
                {
                    return ip.ToString();
                }
            }
            return null;
Для внешнего нашел это
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/// <summary>
/// Get computer INTERNET address like 93.136.91.7
/// </summary>
/// <returns></returns>
private string GetComputer_InternetIP()
{
    // check IP using DynDNS's service
    WebRequest request = WebRequest.Create("http://checkip.dyndns.org");
    WebResponse response = request.GetResponse();
    StreamReader stream = new StreamReader(response.GetResponseStream());
 
    // IMPORTANT: set Proxy to null, to drastically INCREASE the speed of request
    request.Proxy = null;
 
    // read complete response
    string ipAddress = stream.ReadToEnd();
 
    // replace everything and keep only IP
    return ipAddress.
        Replace("<html><head><title>Current IP Check</title></head><body>Current IP Address: ", string.Empty).
        Replace("</body></html>", string.Empty);
}
2
Заблокирован
10.11.2015, 10:33  [ТС]
Цитата Сообщение от Svorky Посмотреть сообщение
Для внешнего нашел это
эмм делать запрос к сайту для проверки своего ip? мне кажется это несколько бредово... наверняка можно сделать проще, более стандартно...
0
44 / 33 / 14
Регистрация: 27.04.2012
Сообщений: 153
10.11.2015, 14:38
На сетевую карту компьютера приходит адрес выданный роутером (обычно 10.10.х.х или типа того). У роутера есть адрес, который присвоил вам провайдер внутри своей сети (192.168.х.х). Роутер обращается к маршрутизатору провайдера, который обычно стоит на чердаке, он посылает данные к провайдеру, у которого есть определённый пул адресов для интернета. Из этого пула берётся адрес и представляет вас им в интернете (а точнее даже не вас, а весь ваш дом, а то и больше). Именно этот адрес вы видите на всевозможных сайтах по проверке адреса, и играете с ним в сетевые игрушки.
0
Заблокирован
10.11.2015, 14:43  [ТС]
Svorky, ну так и как его получить дефолтными средствами? ну реально как то делать запрос к сайту определяющему ip чтобы определить ip это как то коряво...
0
 Аватар для Komaryan
16 / 16 / 10
Регистрация: 23.03.2010
Сообщений: 103
11.11.2015, 17:11
Твоя сетевая нигде не хранит этот ip так что локально тебе его не получить, у тебя в арп храниться только твоя таблица маршрутизации (до роутера) и в ней нет внешнего ip. Так что юзай то что тебе подкинул Svorky.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/// <summary>
/// Get computer INTERNET address like 93.136.91.7
/// </summary>
/// <returns></returns>
private string GetComputer_InternetIP()
{
    // check IP using DynDNS's service
    WebRequest request = WebRequest.Create("http://checkip.dyndns.org");
    WebResponse response = request.GetResponse();
    StreamReader stream = new StreamReader(response.GetResponseStream());
 
    // IMPORTANT: set Proxy to null, to drastically INCREASE the speed of request
    request.Proxy = null;
 
    // read complete response
    string ipAddress = stream.ReadToEnd();
 
    // replace everything and keep only IP
    return ipAddress.
        Replace("<html><head><title>Current IP Check</title></head><body>Current IP Address: ", string.Empty).
        Replace("</body></html>", string.Empty);
}
1
Заблокирован
11.11.2015, 17:18  [ТС]
Komaryan, окей раз уж такое дело...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.11.2015, 17:18
Помогаю со студенческими работами здесь

Как можно узнать характеристики компьютера, если известен только IP-address
Как вот такое можно сделать ? Хотел вот на работу устроиться, сказали, если это сделаешь - примем. Помогите пожалуйста ребята

Как можно создать консольную программу которая бы могла узнать все про пользователя компьютера?
Напр. Имя, Пароль и.т.д. И еще можно была бы изменит их. Можно ли такую создать?

Как узнать имя компьютера?
Подскажите, как узнать имя компьютера, на котором запущена программа Delphi? На VBA это выглядит так: Private Declare Function...

Как узнать UUID компьютера?
Привет всем. Собственно, вопрос в названии. Кто знает ответ, подскажите.

Как узнать имя компьютера
Нужен простой пример который получает имя компа на котором запускаеться прога на с++ В одной книге нашел такую функцию string...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

Новые блоги и статьи
Тестирование Pull Request в Kubernetes с vCluster
Mr. Docker 19.07.2025
Часто сталкиваюсь с серьезной дилемой при настройке тестовых окружений для проверки Pull Request в Kubernetes. С одной стороны, каждый PR требует изолированной среды — только так можно гарантировать,. . .
Мой 7 минутный ролик с крамольным предложением про шахматы, предлагаю заценить
_Ivana 18.07.2025
p2UhJNMGY94
Десять Middleware Node.js для эффективного кодинга
Reangularity 18.07.2025
Когда я только начинал работать с Node. js, количество пакетов в npm меня буквально парализовало. Сегодня их больше 1,3 миллиона — попробуй разберись, что стоит твоего внимания, а что нет. Я потратил. . .
Context и глубины Android
mobDevWorks 18.07.2025
В Android разработки Context напоминает воздух - он везде, жизненно необходим, но мало кто может детально объяснить его природу. Мы привыкли получать его как параметр, передавать дальше и. . .
Результаты исследования от команды MCM (июль 2025 г.)
Programma_Boinc 18.07.2025
Результаты исследования от команды MCM (июль 2025 г. ) Как сообщалось в наших предыдущих публикациях, мы изучаем гены, которые имеют наибольший рейтинг и ассоциируются с различными видами рака, в. . .
ИИ-чатбот на React с OpenAI и LangChain.js
Reangularity 17.07.2025
React давно стал для меня золотым стандартом фронтенд-разработки. Его компонентная структура, виртуальный DOM и однонаправленный поток данных идеально подходят для создания динамичных интерфейсов. . .
Пишем адаптер для локального хранилища S3 на C#
stackOverflow 16.07.2025
Разработка современных приложений часто требует интеграции с объектными хранилищами, и Amazon S3 стал де-факто стандартом в этой области. Однако работа с облачными сервисами в процессе разработки. . .
Старые замки
kumehtar 16.07.2025
Смотрел тут фото, попались пара старых замков. И сразу бросилось в глаза из отличие. Например: Замок Бистон, в англии. Разрушенное сооружение. Но - не испорченное людьми, по крайней мере - на. . .
Java и Eclipse Store: Сверхбыстрые приложения с In-Memory DB
Javaican 15.07.2025
Eclipse Store — это микро-движок персистентности для Java, который позволяет хранить и извлекать нативные Java-объекты без необходимости преобразования данных или использования объектно-реляционного. . .
EmBitz, создание проекта, отладка, прошивка
locm 15.07.2025
Создание проекта для Blue Pill (STM32F103C8T6) в EmBitz 2. 30, написания кода blink, запуск отладки в ОЗУ, заливка релизной прошивки во flash используя ST-Link и др. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru