Войти

Показать полную графическую версию : Тема на удаления


nighttrap
22-04-2015, 08:08
Тема на удаления

Foreigner
22-04-2015, 09:14
Вариант на PowerShell:

[net.dns]::gethostbyname('ya.ru').addresslist.ipaddresstostring # адрес по названию
[net.dns]::gethostbyaddress('213.180.204.3').hostname # название по адресу

AZABAZA
22-04-2015, 13:00
Вариант для PowerShell по имени:

[System.Net.Dns]::GetHostEntry('vk.com').AddressList |
Where-Object {$_.AddressFamily -eq 'InterNetwork'} |
ForEach-Object {$_.IPAddressToString}

Foreigner
22-04-2015, 14:15
AZABAZA, Кстати интересно, ваш вариант и мой выдает разные IP:

[net.dns]::gethostbyname('vk.com').addresslist.ipaddresstostring
87.240.131.118
87.240.131.119
87.240.131.120

[System.Net.Dns]::GetHostEntry('vk.com').AddressList | ? {$_.AddressFamily -eq 'InterNetwork'} | % {$_.IPAddressToString}
87.240.131.120
87.240.131.97
87.240.131.99

Kazun
22-04-2015, 14:33
Лучше использовать [System.Net.Dns]::GetHostEntry , т.к. остальные методы являются устаревшими.

https://msdn.microsoft.com/en-us/library/System.Net.Dns_methods(v=vs.110).aspx

Public method Static member GetHostByAddress(IPAddress) Obsolete. Creates an IPHostEntry instance from the specified IPAddress.
Public method Static member GetHostByAddress(String) Obsolete. Creates an IPHostEntry instance from an IP address.
Public method Static member GetHostByName Obsolete. Gets the DNS information for the specified DNS host name.


GetHostEntry - берет информацию из кэша при наличии. Поэтому надежнее использовать nslookup(где постоянно опрос сервера и возврат с RoundRobin)


PS > Get-DnsClientCache -Entry ya.ru

Entry RecordName Record Status Section TimeTo Data L Data
Type Live ength
----- ---------- ------ ------ ------- ------ ------ ----
ya.ru ya.ru A Success Answer 64 4 213.180.193.3
ya.ru ya.ru A Success Answer 64 4 213.180.204.3
ya.ru ya.ru A Success Answer 64 4 93.158.134.3

PS > [System.Net.Dns]::GetHostEntry('ya.ru').AddressList.IPAddressToString
213.180.193.3
213.180.204.3
93.158.134.3





Или новые командлет Resolve-DNSName

PS > Resolve-DnsName vk.com

Name Type TTL Section IPAddress
---- ---- --- ------- ---------
vk.com AAAA 77 Answer 2a00:bdc0:3:103:1:0:403:909
vk.com AAAA 77 Answer 2a00:bdc0:3:103:1:0:403:900
vk.com AAAA 77 Answer 2a00:bdc0:3:103:1:0:403:908
vk.com A 77 Answer 87.240.143.241
vk.com A 77 Answer 87.240.131.97
vk.com A 77 Answer 87.240.131.99


PS > Resolve-DnsName vk.com

Name Type TTL Section IPAddress
---- ---- --- ------- ---------
vk.com AAAA 77 Answer 2a00:bdc0:3:103:1:0:403:900
vk.com AAAA 77 Answer 2a00:bdc0:3:103:1:0:403:908
vk.com AAAA 77 Answer 2a00:bdc0:3:103:1:0:403:909
vk.com A 77 Answer 87.240.131.97
vk.com A 77 Answer 87.240.131.99
vk.com A 77 Answer 87.240.143.241


PS > Resolve-DnsName vk.com

Name Type TTL Section IPAddress
---- ---- --- ------- ---------
vk.com AAAA 76 Answer 2a00:bdc0:3:103:1:0:403:908
vk.com AAAA 76 Answer 2a00:bdc0:3:103:1:0:403:909
vk.com AAAA 76 Answer 2a00:bdc0:3:103:1:0:403:900
vk.com A 76 Answer 87.240.131.99
vk.com A 76 Answer 87.240.143.241
vk.com A 76 Answer 87.240.131.97

AZABAZA
22-04-2015, 14:36
Foreigner,

У меня не работает ваш скрипт, и у них кажется динамично обновляется :)

[net.dns]::gethostbyname('vk.com').addresslist.ipaddresstostring

[System.Net.Dns]::GetHostEntry('vk.com').AddressList | ? {$_.AddressFamily -eq 'InterNetwork'} | % {$_.IPAddressToString}

87.240.143.241
87.240.131.117
87.240.131.99

GetHostEntry - берет информацию из кэша при наличии. Поэтому надежнее использовать nslookup(где постоянно опрос сервера и возврат с RoundRobin) »

PS C:\Users\azabaza> Get-DnsClientCache -Entry ya.ru
The term 'Get-DnsClientCache' is not recognized as the name of a cmdlet, functi
on, script file, or operable program. Check the spelling of the name, or if a p
ath was included, verify that the path is correct and try again.
At line:1 char:19
+ Get-DnsClientCache <<<< -Entry ya.ru
+ CategoryInfo : ObjectNotFound: (Get-DnsClientCache:String) [],
CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

:dont-know

Kazun
22-04-2015, 14:58
Модуль DnsClient доступен начиная с Windows 8.




© OSzone.net 2001-2012