En este breve POST os muestro los comandos básicos de networking en powershell para olvidarnos de una vez por todas de los tradicionales PING, TRACERT, ARP y NSLOOKUP. Muchas veces el «miedo» a lo desconocido hace que sigamos anclados en el pasado y olvidemos que PowerShell y toda su potencia ha llegado para quedase.
Desde un punto de vista práctico os detallo de una forma muy breve los comandos que utilizo en el día a día para emular los ya casi jubilados ping, arp, nslookup, ipconfig, etc.
Un aviso, en los comandos que aparezca «Home» es el nombre del Alias de mi tarjeta conectada a la red. Cada uno tendrá el suyo propio.
COMANDO Get-NetIPAddress
El cmdlet Get-NetIPAddress obtiene la configuración de la dirección IP, como las direcciones IPv4, las direcciones IPv6 y las interfaces IP con las que están asociadas las direcciones. Sin parámetros, este cmdlet obtiene toda la configuración de la dirección IP del equipo.
Ejemplos:
Get-NetIPAddress Get-NetIPAddress -AddressFamily ipv4 Get-NetIPAddress -AddressFamily ipv4 -InterfaceAlias Home Get-NetIPAddress -AddressFamily ipv4 | ft InterfaceAlias,IPAddress,PrefixLength
COMANDO Get-NetIPConfiguration
El cmdlet Get-NetIPConfiguration obtiene la configuración de red, incluidas las interfaces utilizables, las direcciones IP y los servidores DNS.
Si no especifica ningún parámetro, este cmdlet obtiene propiedades de configuración IP para todas las interfaces conectadas no virtuales de un equipo.
Ejemplos:
Get-NetIPConfiguration Get-NetIPConfiguration -Detailed -InterfaceAlias Home
COMANDO Get-NetAdapter
El cmdlet Get-NetAdapter obtiene las propiedades básicas del adaptador de red. De forma predeterminada, solo se devuelven los adaptadores visibles. Para ver las propiedades comunes del adaptador de red, canalice el resultado al cmdlet Format-List. Para ver todas las propiedades, canalice el resultado al cmdlet Format-List con el parámetro Property especificado como el carácter comodín «*». Este cmdlet admite varias vistas. La vista predeterminada es como una tabla. Para ver más información acerca de varios identificadores de adaptador de red, use la vista de nombres mediante el cmdlet Format-Table con el parámetro View especificado como nombre. Para ver más información sobre el minipuerto, el controlador de dispositivo, como la fecha o la versión del controlador, use la vista del controlador mediante el cmdlet Format-Table con el parámetro View especificado como controlador.
Ejemplos:
Get-NetAdapter Get-NetAdapter -InterfaceAlias Home | select *
COMANDO Get-DnsClientServerAddress
El cmdlet Get-DnsClientServerAddress obtiene una o más direcciones IP del servidor DNS asociadas a las interfaces del equipo.
Ejemplos:
Get-DnsClientServerAddress Get-DnsClientServerAddress -AddressFamily ipv4
COMANDO Get-DnsClientCache
El cmdlet Get-DnsClientCache recupera el contenido de la memoria caché del cliente DNS local.
Ejemplos:
Get-DnsClientCache
COMANDO Clear-DnsClientCache
El cmdlet Clear-DnsClientCache elimina todo el contenido de la memoria caché del cliente DNS. Ejecutar este cmdlet equivale a ejecutar ipconfig /flushdns.
Ejemplos:
Clear-DnsClientCache
COMANDO Test-NetConnection
El cmdlet Test-NetConnection muestra información de diagnóstico para una conexión. Admite pruebas de ping, pruebas TCP, seguimiento de rutas y diagnósticos de selección de rutas. Dependiendo de los parámetros de entrada, la salida puede incluir los resultados de la búsqueda DNS, una lista de interfaces IP, reglas IPsec, resultados de selección de dirección de ruta/origen y/o confirmación del establecimiento de la conexión.
Ejemplos:
Test-NetConnection www.salesianssarria.com Test-NetConnection 8.8.8.8 Test-NetConnection 192.168.99.1 -InformationLevel Quiet test-netconnection www.salesianssarria.com -InformationLevel "Detailed" test-netconnection www.salesianssarria.com -TraceRoute test-netconnection www.salesianssarria.com -Port 80
COMANDO Get-NetRoute
El cmdlet Get-NetRoute obtiene información de ruta IP de la tabla de enrutamiento IP, incluidos los prefijos de red de destino, las direcciones IP del próximo salto y las métricas de ruta. Ejecute este cmdlet sin ningún parámetro para obtener todas las rutas IP de la tabla de enrutamiento. Especifique parámetros para restringir los resultados. Por ejemplo, puede especificar una interfaz particular o una familia de direcciones IP.
Ejemplos:
Get-NetRoute Get-NetRoute -AddressFamily ipv4 Get-NetRoute -AddressFamily ipv4 -InterfaceAlias Home
COMMANDO Get-NetNeighbor
El cmdlet Get-NetNeighbor obtiene entradas de caché de vecinos. El cmdlet devuelve información sobre las direcciones IP y las direcciones de capa de vínculo para las entradas de caché vecina.
La caché vecina mantiene información para cada vecino en el vínculo, incluida la dirección IP y la dirección de la capa de enlace asociada. En IPv4, la caché vecina se conoce comúnmente como caché del Protocolo de resolución de direcciones (ARP).
Ejemplos:
Get-NetNeighbor Get-NetNeighbor -AddressFamily IPV4
COMANDO Remove-NetNeighbor
El cmdlet Remove-NetNeighbor quita las entradas de caché de vecinos. La caché del vecino mantiene información para cada vecino en el vínculo, incluida la dirección IP y la dirección de la capa de enlace asociada.
Ejemplos:
Remove-NetNeighbor Remove-NetNeighbor -Confirm:$False
COMANDO Resolve-DnsName
El cmdlet Resolve-DnsName realiza una consulta DNS para el nombre especificado. Este cmdlet es funcionalmente similar a la herramienta nslookup que permite a los usuarios consultar nombres.
Ejemplos:
Resolve-DnsName -Name www.salesians.cat Resolve-DnsName -Name www.salesians.cat -Server 10.0.0.1 Resolve-DnsName -Name www.salesians.cat -Type A Resolve-DnsName -Name www.salesians.cat -Type TXT
Os dejo también dos enlaces a una página de calidad donde también podéis aprender a listar el uso de los puertos TCP y UDP abiertos en vuestro ordenador con PowerShell:
List Open Ports Using Powershell
List Open UDP Ports Using Powershell
Espero de una vez por todas, y aunque sea poco a poco, vayamos utilizando toda la potencia de PowerShell. Os recuerdo que podemos instalar PowerShell en Linux y por lo tanto utilizar los mismos comandos.