ryg

Команда ipconfig в Mac OS X и FreeBSD

Синтаксис:

     ipconfig waitall
     ipconfig getifaddr interface-name
     ipconfig ifcount
     ipconfig getoption interface-name (option-name | option-code)
     ipconfig getpacket interface-name
     ipconfig getv6packet interface-name
     ipconfig setverbose level
     ipconfig set interface-name NONE
     ipconfig set interface-name (DHCP | BOOTP)
     ipconfig set interface-name (MANUAL | INFORM) ip-address subnet-mask
     ipconfig set interface-name NONE-V6
     ipconfig set interface-name AUTOMATIC-V6
     ipconfig set interface-name MANUAL-V6 ipv6-address prefix-length
     ipconfig set interface-name 6TO4

Описание:

ipconfig - это утилита, которая взаимодействует с агентом IPConfiguration, чтобы получить и изменить параметры настроек IP. Данная утилита предназначения для использования ее при тестировании и отладке приложений, использовать для любых других целей не рекомендуется. Public API's в SystemConfiguration framework является единственным способом на текущий момент для доступа и управления к IPConfiguration.
 
Агент IPConfiguration отвечает за непосредственное управление и настройку IP адресов и установление соединений с такими интерфейсами как IEEE 802.3 Ethernet и IEEE 1394 FireWire. Сам агент является программой "свертком", который загружается и выполняется как процесс приложения configd.
 

Команды:

waitall

Блокировать все, пока сетевые службы не завершат конфигурирование или не закончится время, выделенное для процесса настройки. Данная функция полезна только во время первоначального запуска системы синхронизации времени legacy network services, которая не способна работать во время динамического конфигурирования сети.
 
 getifaddr interface-name
Выводит в стандартный поток вывода IP адрес для первого сетевого сервиса, связанного с данным интерфейсом.Ничего не будет выведено, если интерфейс не активен. Посмотреть доступные сетевые интерфейсы можно командой :
  system_profiler -SPNetworkLocationDataType
  ipconfig getifaddr en0
ifcount  
Показать количество доступных для настройки интерфейсов с помощью IPConfiguration. Количество не изменится если связанные интерфейсы будут добавлены или удалены из системы.
 
getoption interface-name (option-name | option-code)
Печатает значение указанного параметра option настроек DHCP/BOOTP. Варианты параметров описаны в команде bootpd. Если параметр имеет несколько значений, то будет напечатано первое из них:
   ipconfig getoption en1 domain_name_server
getpacket interface-name
Выводит в стандартный канал вывода содержимое принятого от сервера пакета DHCP/BOOTP. Если интерфейс DHCP/BOOTP не активен или попытка получения адреса была неудачна ничего выведено не будет. Данная команда полезна для проверки предоставленных данных сервером.
 
getv6packet interface-name
Выводит последний DHCPv6-пакет, который клиент получил от сервера DHCPv6. В случае если DHCPv6 не активен, то ничего не будет выведено.
 
set interface-name NONE
set interface-name (DHCP | BOOTP)
set interface-name (MANUAL | INFORM) ip-address subnet-mask
set interface-name NONE-V6
set interface-name AUTOMATIC-V6
set interface-name MANUAL-V6 ipv6-address prefix-length
set interface-name 6TO4
 
Настраивает интерфейс для нового временного сетевого сервиса заданного типа. Любой сервис для интерфейсов для конкретных протоколов (IPv4  или IPv6) предварительно сбрасывается и устанавливается заново.
 Если указано NONE, то у всех существующих сервисов для IPv4 будут сброшены настройки, если NONE-V6, то будут сброшены существующие настройки для протокола IPv6.
 
DHCP и BOOTP не требуют никаких дополнительных параметров. IP-адрес, маска подсети, адрес маршрутизатора и DNS-информация загружается автоматически.
 
Режимы MANUAL и  INFORM требуют указания  IP-адреса (ip-address),  и маски подсети (subnet-mask).
 
INFORM так же как и MANUAL настраивает статитический IP-адрес, но затем передает пакет  INFORM на DHCP сервер и в ответ получает остальные параметры. Если DHCH сервер отвечает и поддерживает маску подсети, то назначается маска подсети полученная от сервера.
 
AUTOMATIC-V6 не требует дополнительных параметров. все параметры загружаются автоматически.
 
MANUAL-V6 требует указания IPv6 адреса ipv6-address и длину префикса prefix-length.
 
6TO4 -Если интерфейс определен как не ITF-STF, то данная команда работает аналогично NONE-V6.
Команда set требует прав суперпользователя.
 
Команды группы set очень полезны при отладке, но она не может быть использована для настройки постоянной службы. Настройки сохраняются только до следуещего изменения конфигурации сети.
 
setverbose level
Устанавливает режим подробного протоколирования агента IPConfiguration. Значение level равное 0 - отключает протоколирование, 1 -включает. Когда протоколирование включено, то отладочная информация записывается с помощью syslog с уровня LOG_NOTICE. Вдобавок отправленные и полученные пакеты BOOTP/DHCP записываются в файл /var/log/com.apple.IPConfiguration.bootp.
Команда setverbose требует прав суперпользователя.
 

Пример:

$ ipconfig getpacket en1
op = BOOTREPLY
htype = 1
flags = 8000
hlen = 6
hops = 0
xid = 931942247
secs = 0
ciaddr = 0.0.0.0
yiaddr = 192.168.15.13
siaddr = 0.0.0.0
giaddr = 0.0.0.0
chaddr = c8:bc:c8:d8:3b:c
sname = 
file = 
options:
Options count is 8
dhcp_message_type (uint8): ACK 0x5
server_identifier (ip): 192.168.15.1
lease_time (uint32): 0x76a700
domain_name (string): myhome.net
domain_name_server (ip_mult): {192.168.15.1}
router (ip_mult): {192.168.15.1}
subnet_mask (ip): 255.255.255.0
end (none): 

Получить свой внутренний IP адрес (если проводной интерфейс, если используется wi-fi соединение, то en1):

ipconfig getifaddr en0

Связанные команды:

sudo -выполнить команду с правами root
Команда scutil - Управление параметрами системы и сети.
ifconfig - настроить сетевое подключение
netstat -Показать маршруты и состояние сетевых соединений.
system_profiler -Получить отчет о конфигурации вашего Apple Mac
ping  -проверить сетевое соединение и отклик удаленного сервера
traceroute - проверить маршрут к удаленному серверу