-1

Недавно я написал простую программу, которая имитирует связь между сервером и клиентом на моем компьютере по протоколу TCP. Как следует из названия, мне нужно знать, как получить IPv4-адрес моего ПК (Windows 7) самым простым способом, чтобы увидеть, работает ли моя программа. Спасибо за ответы.

1 ответ1

2

гарантированный

Если у вас есть рабочие соединения IPv4, у вас есть по крайней мере этот IP-адрес:

  • "127.0.0.1"

Возможно, это не то, что вы намеревались, но это, вероятно, самый простой ответ для вас, так что вы идете.

Больше

Как определить, какие IPv4-адреса у вас есть, зависит от того, какой язык вы используете. Если вы общаетесь по IP, вы, вероятно, будете использовать код, который также дает вам возможность узнать свой IP-адрес (а). Если вы используете пакетный режим, вы можете вывести IP-адреса в текстовый файл, используя:

WMIC /OUTPUT:"file.txt" NICCONFIG Get Caption,DefaultIPGateway,Description,IPAddress,IPSubnet,MACAddress /format:list

(Если вы используете PowerShell, то же самое сработало бы исключение, вы бы хотели поставить "обратную кавычку"/"обратную галочку" перед каждой кавычкой и запятой.)

(Этот пример включает некоторые дополнительные элементы: не стесняйтесь удалять разделы /OUTPUT и /format , обычно избыточный раздел "Description" и т.д. Если вы оставите все после "Get", кроме « /format:list », вы получите больше информации.)

Если вы хотите получить ответ, относящийся к другому языку программирования, вам следует задать его как отдельный вопрос в другом месте (я бы порекомендовал его на сайте StackOverflow).

В IPv4 вы часто будете использовать (a) закрытый (ые) адрес (а) (начиная с «192.168.» Или «172.16.» - «172.31.» Или «10.»).

общественного

Некоторые люди хотят знать, каков их общедоступный IP-адрес. Способ узнать , что это спросить в Интернете. например, используйте HTTP для связи с http://whatismyip.com или каким-либо другим подобным сайтом и выполняйте любые шаги, необходимые для извлечения желаемого контента.

Примечание стороны: IPv6

Вы не спрашивали об IPv6, но от IPv6 не стоит уклоняться, поэтому вот данные, связанные с IPv6.

  • Вы будете иметь :: 1 в качестве петлевого адреса
  • Хотя обычно вы не хотите иметь "локальный адрес" (начиная с «169.254.») В IPv4, в IPv6 вы определенно это делаете. Такие "локальные ссылки" адреса являются более ограничительными по своей природе, и единственная причина, по которой вы не хотите использовать один в IPv4, заключается в том, что некоторые программы IPv4 предполагают, что у вас есть только один адрес IPv4, отличный от обратной петли. Поскольку IPv6 в качестве стандарта использует локальную связь, программное обеспечение, поддерживающее IPv6, не ломается только потому, что используется локальный адрес связи.
  • Частные адреса с IPv6 начинаются с "fd".
  • И IPv4, и IPv6 используют концепцию, называемую "маской подсети", хотя IPv6 почти всегда использует нотацию в стиле CIDR и называет эту информацию "длиной префикса". Оба термина в конечном итоге представляют собой два способа описания одной и той же концепции: насколько велики подсети. В любых современных сетях разница в "нотации" зависит только от того, как записываются данные. (Вы можете конвертировать туда и обратно между нотацией IPv4 "маска подсети" и нотацией «CIDR-style».) Хотя вы можете использовать нотацию в стиле CIDR и с IPv4 (и обычно это лучше, когда вы это делаете), многие программы IPv4 по-прежнему отображают только нотацию "маски подсети".

Это единственные реальные предостережения, специфичные для IPv6, которые вам необходимо знать (помимо таких деталей, как внешний вид IPv6), чтобы ваша программа работала хорошо с IPv6.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .