Contenidos
- ¿Más ejercicios sobre gestión de la red en PowerShell?
- Introducción
- Capa física
- Adaptadores de red
- Información sobre los adaptadores de red
- Información avanzada sobre los adaptadores de red
- Habilitar un adaptador de red
- Deshabilitar un adaptador de red
- Ver elementos de un adaptador de red
- Habilitar elementos de un adaptador de red
- Deshabilitar elementos de un adaptador de red
- Cambiar el nombre de los adaptadores de red
- Información transmitida
- Adaptadores de red
- Capa de Internet
- Capa de transporte
- Capa de aplicación
- Diagnóstico de conexiones
¿Más ejercicios sobre gestión de la red en PowerShell?
Introducción
Los sistemas operativos se pueden conectar a la red de diversas formas, lo primero que hay que tener en cuenta es el dispositivo que permite la conexión a la red y lo segundo cómo se configura dicho dispositivo.
Relación de las capas del modelo TCP/IP con PowerShell:
- Capa física
- Capa de Internet
- Capa de transporte
- Capa de aplicación
Capa física
La capa de red física especifica las características del hardware que se utilizará para la red. Por ejemplo, la capa de red física especifica las características físicas del medio de comunicaciones. La capa física de TCP/IP describe por ejemplo los estándares de hardware como IEEE 802.3 y la especificación del medio de red Ethernet.
La capa física se refiere a las transformaciones que se le hacen a la secuencia de bits para transmitirlos de un lugar a otro, los bits se manejan dentro del equipo como niveles eléctricos.
Por ejemplo, puede decirse que en un punto o cable existe un 1 cuando hay presente un determinado nivel de voltaje y un cero cuando su nivel es de 0 voltios.
Cuando se transmiten los bits siempre se transforman en otro tipo de señales de tal manera que en el punto receptor puede recuperar la secuencia de bits originales.
Los cmdlets relacionados con esta capa
1 | Get-Command -Module NetAdapter |
La tarjeta de red, también conocida como adaptador de red, en inglés Network interface controller (NIC), es un componente de hardware que conecta al equipo a una red informática.
Adaptadores de red
Información sobre los adaptadores de red
Los cmdlets que dan información sobre los adaptadores de red
1 | Get-NetAdapterHardwareInfo |
Parámetros y alias de los parámetros para el cmdlet Get-NetAdapterHardwareInfo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | Name {ifAlias, InterfaceAlias} InterfaceDescription {ifDesc, InstanceID} IncludeHidden {} CimSession {Session} ThrottleLimit {} AsJob {} Verbose {vb} Debug {db} ErrorAction {ea} WarningAction {wa} InformationAction {infa} ErrorVariable {ev} WarningVariable {wv} InformationVariable {iv} OutVariable {ov} OutBuffer {ob} PipelineVariable {pv} |
Otro cmdlet que da información sobre los adaptadores de red
1 | Get-NetAdapter -Physical |
Parámetros y alias de los parámetros para el cmdlet Get-NetAdapter
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | Name {ifAlias, InterfaceAlias} InterfaceDescription {ifDesc} InterfaceIndex {ifIndex} IncludeHidden {} Physical {} CimSession {Session} ThrottleLimit {} AsJob {} Verbose {vb} Debug {db} ErrorAction {ea} WarningAction {wa} InformationAction {infa} ErrorVariable {ev} WarningVariable {wv} InformationVariable {iv} OutVariable {ov} OutBuffer {ob} PipelineVariable {pv} |
Información sobre los adaptadores mediante WMI
1 | Get-WmiObject -Class Win32_NetworkAdapterConfiguration |
Información avanzada sobre los adaptadores de red
El cmdlet que dan información avanzada sobre los adaptadores de red
1 | Get-NetAdapterAdvancedProperty |
Parámetros y alias de los parámetros para el cmdlet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | Name {ifAlias, InterfaceAlias} InterfaceDescription {ifDesc, InstanceID} DisplayName {DispN} RegistryKeyword {RegKey} IncludeHidden {} AllProperties {} CimSession {Session} ThrottleLimit {} AsJob {} Verbose {vb} Debug {db} ErrorAction {ea} WarningAction {wa} InformationAction {infa} ErrorVariable {ev} WarningVariable {wv} InformationVariable {iv} OutVariable {ov} OutBuffer {ob} PipelineVariable {pv} |
Ejemplo
Mostrar información avanzada de todos los adaptadores de red que hay en el sistema
1 | Get-NetAdapterAdvancedProperty -Name "*" -AllProperties |
Habilitar un adaptador de red
Un adaptador de red se puede habilitar con el cmdlet
1 | Enable-NetAdapter |
Parámetros y alias de los parámetros para el cmdlet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | Name {ifAlias, InterfaceAlias} InterfaceDescription {ifDesc} IncludeHidden {} InputObject {} PassThru {} CimSession {Session} ThrottleLimit {} AsJob {} Verbose {vb} Debug {db} ErrorAction {ea} WarningAction {wa} InformationAction {infa} ErrorVariable {ev} WarningVariable {wv} InformationVariable {iv} OutVariable {ov} OutBuffer {ob} PipelineVariable {pv} WhatIf {wi} Confirm {cf} |
Ejemplo
Habilitar el adaptador Wi-Fi (es necesario ser administrador)
1 | Enable-NetAdapter -Name "wi-fi" |
Deshabilitar un adaptador de red
Un adaptador de red se puede deshabilitar con el cmdlet
1 | Disable-NetAdapter |
Parámetros y alias de los parámetros para el cmdlet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | Name {ifAlias, InterfaceAlias} InterfaceDescription {ifDesc} IncludeHidden {} InputObject {} PassThru {} CimSession {Session} ThrottleLimit {} AsJob {} Verbose {vb} Debug {db} ErrorAction {ea} WarningAction {wa} InformationAction {infa} ErrorVariable {ev} WarningVariable {wv} InformationVariable {iv} OutVariable {ov} OutBuffer {ob} PipelineVariable {pv} WhatIf {wi} Confirm {cf} |
Ejemplo
Deshabilitar el adaptador Wi-Fi (es necesario ser administrador)
1 | Disable-NetAdapter -Name "wi-fi" |
Ver elementos de un adaptador de red
El cmdlet que sirve para ver los elementos de un adaptador de red
1 | Get-NetAdapterBinding |
Parámetros y alias de los parámetros para el cmdlet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | Name {ifAlias, InterfaceAlias} InterfaceDescription {ifDesc, InstanceID} ComponentID {} DisplayName {} IncludeHidden {} AllBindings {} CimSession {Session} ThrottleLimit {} AsJob {} Verbose {vb} Debug {db} ErrorAction {ea} WarningAction {wa} InformationAction {infa} ErrorVariable {ev} WarningVariable {wv} InformationVariable {iv} OutVariable {ov} OutBuffer {ob} PipelineVariable {pv} |
Ejemplo
Ver los elementos del adaptador de red Wi-Fi
1 | Get-NetAdapterBinding -Name "Wi-Fi" |
Habilitar elementos de un adaptador de red
El cmdlet que sirve para habilitar elementos de un adaptador de red
1 | Enable-NetAdapterBinding |
Parámetros y alias de los parámetros para el cmdlet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | Name {ifAlias, InterfaceAlias} InterfaceDescription {ifDesc, InstanceID} ComponentID {} DisplayName {} IncludeHidden {} AllBindings {} InputObject {} PassThru {} CimSession {Session} ThrottleLimit {} AsJob {} Verbose {vb} Debug {db} ErrorAction {ea} WarningAction {wa} InformationAction {infa} ErrorVariable {ev} WarningVariable {wv} InformationVariable {iv} OutVariable {ov} OutBuffer {ob} PipelineVariable {pv} WhatIf {wi} Confirm {cf} |
Ejemplo
Habilitar el elemento «Protocolo de Internet versión 4 (TCP/IPv4) en el adaptador de red Wi-Fi (es necesario ser administrador)
1 | Enable-NetAdapterBinding -Name "Wi-Fi" -ComponentID ms_tcpip |
Deshabilitar elementos de un adaptador de red
El cmdlet que sirve para deshabilitar elementos de un adaptador de red
1 | Disable-NetAdapterBinding |
Parámetros y alias de los parámetros para el cmdlet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | Name {ifAlias, InterfaceAlias} InterfaceDescription {ifDesc, InstanceID} ComponentID {} DisplayName {} IncludeHidden {} AllBindings {} InputObject {} PassThru {} CimSession {Session} ThrottleLimit {} AsJob {} Verbose {vb} Debug {db} ErrorAction {ea} WarningAction {wa} InformationAction {infa} ErrorVariable {ev} WarningVariable {wv} InformationVariable {iv} OutVariable {ov} OutBuffer {ob} PipelineVariable {pv} WhatIf {wi} Confirm {cf} |
Ejemplo
Deshabilitar el elemento «Protocolo de Internet versión 4 (TCP/IPv4) en el adaptador de red Wi-Fi (es necesario ser administrador)
1 | Disable-NetAdapterBinding -Name "Wi-Fi" -ComponentID ms_tcpip |
Cambiar el nombre de los adaptadores de red
Los nombres de los adaptadores de red se pueden cambiar pero es necesario ser administrador.
El cmdlet que sirve para cambiar el nombre del adaptador de red
1 | Rename-NetAdapter |
Parámetros y alias de los parámetros para el cmdlet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | Name {ifAlias, InterfaceAlias} InterfaceDescription {ifDesc} IncludeHidden {} InputObject {} PassThru {} NewName {} CimSession {Session} ThrottleLimit {} AsJob {} Verbose {vb} Debug {db} ErrorAction {ea} WarningAction {wa} InformationAction {infa} ErrorVariable {ev} WarningVariable {wv} InformationVariable {iv} OutVariable {ov} OutBuffer {ob} PipelineVariable {pv} WhatIf {wi} Confirm {cf} |
Ejemplo
Cambiar el nombre al adaptador
1 | Rename-NetAdapter -Name "Wi-Fi" -NewName "AdaptadorWi-Fi" |
Información transmitida
La cantidad de información (bytes recibidos y transmitidos) que se transmite por la red a traves de la tarjeta de red, se puede conocer mediante el cmdlet
1 | Get-NetAdapterStatistics |
Parámetros y alias de los parámetros para el cmdlet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | Name {ifAlias, InterfaceAlias} InterfaceDescription {ifDesc, InstanceID} IncludeHidden {} CimSession {Session} ThrottleLimit {} AsJob {} Verbose {vb} Debug {db} ErrorAction {ea} WarningAction {wa} InformationAction {infa} ErrorVariable {ev} WarningVariable {wv} InformationVariable {iv} OutVariable {ov} OutBuffer {ob} PipelineVariable {pv} |
Ejemplo
Ver los bytes enviados y recibidos del interfaz Wi-Fi
1 | Get-NetAdapterStatistics -Name Wi-Fi |
Capa de Internet
La capa de Internet, también conocida como capa de red o capa IP, acepta y transfiere paquetes para la red. Esta capa incluye el potente Protocolo de Internet (IP), el protocolo de resolución de direcciones (ARP) y el protocolo de mensajes de control de Internet (ICMP).
Los cmdlets relacionados con esta capa
1 | Get-Command -Module NetTCPIP |
ARP
Un protocolo de la capa de enlace es ARP que es responsable de encontrar la dirección de hardware (Ethernet MAC) que corresponde a una determinada dirección IP.
Cmdlet para obtener información sobre las direcciones físicas
1 | Get-NetAdapter | Select-Object Name,MacAddress |
Cmdlet con llamada WMI para obtener información sobre las direcciones físicas
1 | Get-WmiObject -Class Win32_NetworkAdapterConfiguration | Select-Object Description,MACAddress |
El cmdlet que permite obtener las direcciones físicas asociadas
1 | Get-NetNeighbor |
Parámetros y alias de los parámetros para el cmdlet Get-NetNeighbor
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | IPAddress {} InterfaceIndex {ifIndex} InterfaceAlias {ifAlias} LinkLayerAddress {} State {} AddressFamily {} AssociatedIPInterface {} PolicyStore {} IncludeAllCompartments {} CimSession {Session} ThrottleLimit {} AsJob {} Verbose {vb} Debug {db} ErrorAction {ea} WarningAction {wa} InformationAction {infa} ErrorVariable {ev} WarningVariable {wv} InformationVariable {iv} OutVariable {ov} OutBuffer {ob} PipelineVariable {pv} |
Ejemplo
Obtener entradas de la caché para los equipos vecinos con IPv6
1 | Get-NetNeighbor | Where-Object AddressFamily -EQ IPv6 |
IP
El protocolo IP y sus protocolos de enrutamiento asociados son posiblemente la parte más significativa del conjunto TCP/IP.
Los parámetros de configuración básicos para una red son: la dirección IP, la máscara de red, la puerta de enlace (Gateway) y los DNS.
Veamos brevemente qué es cada parámetro:
- La dirección IP (Internet Protocol, Protocolo de Internet) es un código que identifica una interfaz como única. La interfaz es un dispositivo como una tarjeta de red, un punto de acceso, etc. Hay distintas versiones de direcciones IP:
- La IPv4 está formada por un número binario de 32 bits que normalmente se representa como 4 números en base decimal del 0 al 255, separados por puntos, por ejemplo la dirección localhost en IPv4 es 127.0.0.1
- La otra versión es la IPv6 que es un número de 128 bits representado en hexadecimal con 32 dígitos, separados por dos puntos en grupos de 4 dígitos, por ejemplo la direccion localhost en IPv6 es 0:0:0:0:0:0:0:1
- La máscara de red sirve para saber si se deben enviar los datos dentro o fuera de las redes. Por ejemplo, si el sistema operativo tiene la IP 192.168.0.0 y la máscara de red es 255.255.255.0, esto significa que todos los paquetes que no están dirigidos a la red 192.168.0.x irán a la puerta de enlace predeterminada que puede ser la 192.168.0.1.
- Un gateway (puerta de enlace) es un dispositivo que permite interconectar redes con protocolos y arquitecturas diferentes a todos los niveles de comunicación. Su propósito es traducir la información del protocolo utilizado en una red al protocolo usado en la red de destino. El valor de la puerta de enlace es otro de los valores que se deben indicar al configurar la conexión de red.
- Los DNS son direcciones IP que sirven para resolver los nombres de dominio FQDN (Fully Qualified Domain Names) y traducirlos a direcciones IP.
A continuación vemos algunas operaciones con IP:
Ver protocolos IP soportados
Los cmdlets para obtener los protocolos IP soportados son
1 2 | ((Get-NetAdapterBinding).DisplayName) -match 'Protocolo de Internet' (Get-NetIPInterface) | Select-Object InterfaceAlias,AddressFamily |
Parámetros y alias de los parámetros para el cmdlet Get-NetAdapterBinding
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | Name {ifAlias, InterfaceAlias} InterfaceDescription {ifDesc, InstanceID} ComponentID {} DisplayName {} IncludeHidden {} AllBindings {} CimSession {Session} ThrottleLimit {} AsJob {} Verbose {vb} Debug {db} ErrorAction {ea} WarningAction {wa} InformationAction {infa} ErrorVariable {ev} WarningVariable {wv} InformationVariable {iv} OutVariable {ov} OutBuffer {ob} PipelineVariable {pv} |
Parámetros y alias de los parámetros para el cmdlet Get-NetIPInterface
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | InterfaceIndex {ifIndex} InterfaceAlias {ifAlias} AddressFamily {} Forwarding {} ClampMss {} Advertising {} NlMtuBytes {} InterfaceMetric {} NeighborUnreachabilityDetection {} BaseReachableTimeMs {BaseReachableTime} ReachableTimeMs {ReachableTime} RetransmitTimeMs {RetransmitTime} DadTransmits {} DadRetransmitTimeMs {DadRetransmitTime} RouterDiscovery {} ManagedAddressConfiguration {} OtherStatefulConfiguration {} WeakHostSend {} WeakHostReceive {} IgnoreDefaultRoutes {} AdvertisedRouterLifetime {} AdvertiseDefaultRoute {} CurrentHopLimit {} ForceArpNdWolPattern {} DirectedMacWolPattern {} EcnMarking {} Dhcp {} ConnectionState {} AutomaticMetric {} NeighborDiscoverySupported {} CompartmentId {} AssociatedRoute {} AssociatedIPAddress {} AssociatedNeighbor {} AssociatedAdapter {} PolicyStore {} IncludeAllCompartments {} CimSession {Session} ThrottleLimit {} AsJob {} Verbose {vb} Debug {db} ErrorAction {ea} WarningAction {wa} InformationAction {infa} ErrorVariable {ev} WarningVariable {wv} InformationVariable {iv} OutVariable {ov} OutBuffer {ob} PipelineVariable {pv} |
Obtener configuraciones de protocolo IP
Los cmdlets para obtener las configuraciones del protocolo IP son
1 2 | Get-NetIPv4Protocol Get-NetIPv6Protocol |
Parámetros y alias de los parámetros para el cmdlet Get-NetIPv4Protocol
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | DefaultHopLimit {} NeighborCacheLimitEntries {NeighborCacheLimit} RouteCacheLimitEntries {RouteCacheLimit} ReassemblyLimitBytes {ReassemblyLimit} IcmpRedirects {} SourceRoutingBehavior {} DhcpMediaSense {} MediaSenseEventLog {} IGMPLevel {MldLevel} IGMPVersion {MldVersion} MulticastForwarding {} GroupForwardedFragments {} RandomizeIdentifiers {} AddressMaskReply {} DeadGatewayDetection {} MinimumMtu {} CimSession {Session} ThrottleLimit {} AsJob {} Verbose {vb} Debug {db} ErrorAction {ea} WarningAction {wa} InformationAction {infa} ErrorVariable {ev} WarningVariable {wv} InformationVariable {iv} OutVariable {ov} OutBuffer {ob} PipelineVariable {pv} |
Parámetros y alias de los parámetros para el cmdlet Get-NetIPv6Protocol
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | DefaultHopLimit {} NeighborCacheLimitEntries {NeighborCacheLimit} RouteCacheLimitEntries {RouteCacheLimit} ReassemblyLimitBytes {ReassemblyLimit} IcmpRedirects {} SourceRoutingBehavior {} DhcpMediaSense {} MediaSenseEventLog {} MldLevel {} MldVersion {} MulticastForwarding {} GroupForwardedFragments {} RandomizeIdentifiers {} AddressMaskReply {} DeadGatewayDetection {} UseTemporaryAddresses {} MaxTemporaryDadAttempts {MaxDadAttempts} MaxTemporaryValidLifetime {MaxValidLifetime} MaxTemporaryPreferredLifetime {MaxPreferredLifetime} TemporaryRegenerateTime {RegenerateTime} MaxTemporaryDesyncTime {MaxRandomTime} CimSession {Session} ThrottleLimit {} AsJob {} Verbose {vb} Debug {db} ErrorAction {ea} WarningAction {wa} InformationAction {infa} ErrorVariable {ev} WarningVariable {wv} InformationVariable {iv} OutVariable {ov} OutBuffer {ob} PipelineVariable {pv} |
Obtener direcciones IP del sistema
Los cmdlets para obtener las direcciones IP del sistema son
1 2 | Get-NetIPConfiguration Get-NetIPAddress |
Parámetros y alias de los parámetros para el cmdlet Get-NetIPConfiguration
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | InterfaceAlias {ifAlias} InterfaceIndex {ifIndex} All {IncludeAllInterfaces} AllCompartments {IncludeAllCompartments} CompartmentId {} Detailed {} CimSession {PSComputerName, ComputerName} Verbose {vb} Debug {db} ErrorAction {ea} WarningAction {wa} InformationAction {infa} ErrorVariable {ev} WarningVariable {wv} InformationVariable {iv} OutVariable {ov} OutBuffer {ob} PipelineVariable {pv} |
Parámetros y alias de los parámetros para el cmdlet Get-NetIPAddress
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | IPAddress {LocalAddress} InterfaceIndex {ifIndex} InterfaceAlias {ifAlias} AddressFamily {} Type {} PrefixLength {} PrefixOrigin {} SuffixOrigin {} AddressState {} ValidLifetime {} PreferredLifetime {} SkipAsSource {} AssociatedIPInterface {} PolicyStore {} IncludeAllCompartments {} CimSession {Session} ThrottleLimit {} AsJob {} Verbose {vb} Debug {db} ErrorAction {ea} WarningAction {wa} InformationAction {infa} ErrorVariable {ev} WarningVariable {wv} InformationVariable {iv} OutVariable {ov} OutBuffer {ob} PipelineVariable {pv} |
Ejemplos
Dirección IP del adaptador Wi-Fi
1 | Get-NetAdapter -Name "AdaptadorWi-Fi" | Get-NetIPAddress |
Dirección IPv4
1 2 | Get-NetIPAddress -AddressFamily ipv4 (Get-NetAdapter -Name "Local Area Connection" | Get-NetIPAddress).IPv4Address |
Dirección IPv6
1 | Get-NetIPAddress -AddressFamily ipv6 |
Dirección IPv6 del adaptador Wi-Fi
1 | Get-NetIPAddress -AddressFamily IPv6 -InterfaceAlias Wi-Fi |
Cambiar dirección IP
El cmdlet que sirve para cambiar la dirección IP
1 | New-NetIPAddress |
Parámetros y alias de los parámetros para el cmdlet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | IPAddress {LocalAddress} InterfaceAlias {ifAlias} DefaultGateway {} AddressFamily {} Type {} PrefixLength {} ValidLifetime {} PreferredLifetime {} SkipAsSource {} PolicyStore {} InterfaceIndex {ifIndex} CimSession {Session} ThrottleLimit {} AsJob {} Verbose {vb} Debug {db} ErrorAction {ea} WarningAction {wa} InformationAction {infa} ErrorVariable {ev} WarningVariable {wv} InformationVariable {iv} OutVariable {ov} OutBuffer {ob} PipelineVariable {pv} WhatIf {wi} Confirm {cf} |
Ejemplos
Cambiar la dirección IPv4 del interfaz WiFi
1 | New-NetIPAddress -InterfaceAlias WiFi -IPAddress 192.168.1.10 -PrefixLength 24 -DefaultGateway 192.168.1.1 |
Cambiar la dirección IPv6 del interfaz WiFi
1 | New-NetIPAddress -InterfaceAlias "Wi-Fi" -IPAddress 2001::1 |
Habilitar DHCP para obtener la dirección IP
El cmdlet que permite habilitar DHCP para la dirección IP
1 | Set-NetIPInterface |
Parámetros y alias de los parámetros para el cmdlet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | InterfaceIndex {ifIndex} InterfaceAlias {ifAlias} AddressFamily {} ReachableTime {} NeighborDiscoverySupported {} CompartmentId {} PolicyStore {} IncludeAllCompartments {} InputObject {} Forwarding {} ClampMss {} Advertising {} NlMtuBytes {} InterfaceMetric {} NeighborUnreachabilityDetection {} BaseReachableTimeMs {BaseReachableTime} RetransmitTimeMs {RetransmitTime} DadTransmits {} DadRetransmitTimeMs {DadRetransmitTime} RouterDiscovery {} ManagedAddressConfiguration {} OtherStatefulConfiguration {} WeakHostSend {} WeakHostReceive {} IgnoreDefaultRoutes {} AdvertisedRouterLifetime {} AdvertiseDefaultRoute {} CurrentHopLimit {} ForceArpNdWolPattern {} DirectedMacWolPattern {} EcnMarking {} Dhcp {} AutomaticMetric {} CimSession {Session} ThrottleLimit {} AsJob {} PassThru {} Verbose {vb} Debug {db} ErrorAction {ea} WarningAction {wa} InformationAction {infa} ErrorVariable {ev} WarningVariable {wv} InformationVariable {iv} OutVariable {ov} OutBuffer {ob} PipelineVariable {pv} WhatIf {wi} Confirm {cf} |
Ejemplo
Habilitar DHCP en el interfaz WiFi
1 | Set-NetIPInterface -InterfaceAlias WiFi -Dhcp Enabled |
Eliminar dirección IP
Cmdlet que sirve para eliminar una dirección IP configurada en un interfaz
1 | Remove-NetIPAddress |
Parámetros y alias de los parámetros para el cmdlet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | IPAddress {LocalAddress} InterfaceIndex {ifIndex} InterfaceAlias {ifAlias} AddressFamily {} Type {} PrefixLength {} PrefixOrigin {} SuffixOrigin {} AddressState {} ValidLifetime {} PreferredLifetime {} SkipAsSource {} PolicyStore {} DefaultGateway {} IncludeAllCompartments {} InputObject {} CimSession {Session} ThrottleLimit {} AsJob {} PassThru {} Verbose {vb} Debug {db} ErrorAction {ea} WarningAction {wa} InformationAction {infa} ErrorVariable {ev} WarningVariable {wv} InformationVariable {iv} OutVariable {ov} OutBuffer {ob} PipelineVariable {pv} WhatIf {wi} Confirm {cf} |
Ejemplo
Eliminar una dirección IPv4
1 | Remove-NetIPAddress -IPAddress 192.168.1.10 -DefaultGateway 192.168.1.1 |
Obtener información desde la tabla de enrutamiento IP
La tabla de enrutamiento
1 | Get-NetRoute |
Parámetros y alias de los parámetros para el cmdlet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | DestinationPrefix {} InterfaceIndex {ifIndex} InterfaceAlias {ifAlias} NextHop {} AddressFamily {} Publish {} RouteMetric {} Protocol {} CompartmentId {} ValidLifetime {} PreferredLifetime {} State {} InterfaceMetric {} AssociatedIPInterface {} PolicyStore {} IncludeAllCompartments {} CimSession {Session} ThrottleLimit {} AsJob {} Verbose {vb} Debug {db} ErrorAction {ea} WarningAction {wa} InformationAction {infa} ErrorVariable {ev} WarningVariable {wv} InformationVariable {iv} OutVariable {ov} OutBuffer {ob} PipelineVariable {pv} |
Ejemplo
Ver la tabla de enrutamiento de IPv4
1 | Get-NetRoute -AddressFamily IPv4 |
La primera zona roja indica qué hacer con los paquetes que se dirigen a 192.168.1.255. En el caso del equipo (0.0.0.0) utilizando un ARP hace peticiones de sus propios recursos a tratar de llegar a su destino a través de probar su dirección MAC.
La segunda zona roja se define como el destino con 0.0.0.0 cualquier otra cosa que no está incluido en la tabla de enrutamiento. Así que todo 192.168.1.255 al exterior se pone en contacto 192.168.1.1.
ICMP
El ‘Protocolo de Mensajes de Control de Internet’ o ICMP (por sus siglas en inglés de Internet Control Message Protocol) es el sub protocolo de control y notificación de errores del Protocolo de Internet (IP). Como tal, se usa para enviar mensajes de error, indicando por ejemplo que un router o host no puede ser localizado.
El cmdlet que sirve para enviar mensajes ICMP
1 | Test-Connection |
Parámetros y alias de los parámetros para el cmdlet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | AsJob {} DcomAuthentication {Authentication} WsmanAuthentication {} Protocol {} BufferSize {Size, Bytes, BS} ComputerName {CN, IPAddress, __SERVER, Server...} Count {} Credential {} Source {FCN, SRC} Impersonation {} ThrottleLimit {} TimeToLive {TTL} Delay {} Quiet {} Verbose {vb} Debug {db} ErrorAction {ea} WarningAction {wa} InformationAction {infa} ErrorVariable {ev} WarningVariable {wv} InformationVariable {iv} OutVariable {ov} OutBuffer {ob} PipelineVariable {pv} |
Capa de transporte
La capa de transporte TCP/IP garantiza que los paquetes lleguen en secuencia y sin errores, al intercambiar la confirmación de la recepción de los datos y retransmitir los paquetes perdidos. Los protocolos de capa de transporte de este nivel son el Protocolo de control de transmisión (TCP) y el Protocolo de datagramas de usuario (UDP). El protocolo TCP proporciona un servicio completo y fiable. UDP proporciona un servicio de datagrama poco fiable.
Los cmdlets relacionados con esta capa
1 | Get-Command -Module NetTCPIP |
TCP
TCP permite a las aplicaciones comunicarse entre sí como si estuvieran conectadas físicamente. TCP envía los datos en un formato que se transmite carácter por carácter, en lugar de transmitirse por paquetes discretos.
Cmdlet para ver ajustes TCP
1 | Get-NetTCPSetting |
Parámetros y alias de los parámetros para el cmdlet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | SettingName {} MinRtoMs {MinRto} InitialCongestionWindowMss {InitialCongestionWindow} CongestionProvider {} CwndRestart {} DelayedAckTimeoutMs {DelayedAckTimeout} DelayedAckFrequency {} MemoryPressureProtection {} AutoTuningLevelLocal {} AutoTuningLevelGroupPolicy {} AutoTuningLevelEffective {} EcnCapability {} Timestamps {} InitialRtoMs {InitialRto} ScalingHeuristics {} DynamicPortRangeStartPort {} DynamicPortRangeNumberOfPorts {} AutomaticUseCustom {} NonSackRttResiliency {} ForceWS {} MaxSynRetransmissions {} AutoReusePortRangeStartPort {} AutoReusePortRangeNumberOfPorts {} AssociatedTransportFilter {} CimSession {Session} ThrottleLimit {} AsJob {} Verbose {vb} Debug {db} ErrorAction {ea} WarningAction {wa} InformationAction {infa} ErrorVariable {ev} WarningVariable {wv} InformationVariable {iv} OutVariable {ov} OutBuffer {ob} PipelineVariable {pv} |
Cmdlet para obtener información sobre las estadísticas de conexión actuales TCP
1 | Get-NetTCPConnection |
Parámetros y alias de los parámetros para el cmdlet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | LocalAddress {IPAddress} LocalPort {} RemoteAddress {} RemotePort {} State {} AppliedSetting {} OwningProcess {} CreationTime {} OffloadState {} CimSession {Session} ThrottleLimit {} AsJob {} Verbose {vb} Debug {db} ErrorAction {ea} WarningAction {wa} InformationAction {infa} ErrorVariable {ev} WarningVariable {wv} InformationVariable {iv} OutVariable {ov} OutBuffer {ob} PipelineVariable {pv} |
Puertos TCP utilizados
1 | Get-NetTCPConnection | Select-Object LocalPort,Remoteport |
UDP
UDP proporciona un servicio de entrega de datagramas. UDP no verifica las conexiones entre los hosts transmisores y receptores. Dado que el protocolo UDP elimina los procesos de establecimiento y verificación de las conexiones, resulta ideal para las aplicaciones que envían pequeñas cantidades de datos.
Cmdlet para ver ajustes UDP
1 | Get-NetUDPSetting |
Parámetros y alias de los parámetros para el cmdlet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | DynamicPortRangeStartPort {} DynamicPortRangeNumberOfPorts {} CimSession {Session} ThrottleLimit {} AsJob {} Verbose {vb} Debug {db} ErrorAction {ea} WarningAction {wa} InformationAction {infa} ErrorVariable {ev} WarningVariable {wv} InformationVariable {iv} OutVariable {ov} OutBuffer {ob} PipelineVariable {pv} |
Cmdlet para obtener información sobre las estadísticas de conexión actuales UDP
1 | Get-NetUDPEndpoint |
Parámetros y alias de los parámetros para el cmdlet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | LocalAddress {IPAddress} LocalPort {} OwningProcess {} CreationTime {} CimSession {Session} ThrottleLimit {} AsJob {} Verbose {vb} Debug {db} ErrorAction {ea} WarningAction {wa} InformationAction {infa} ErrorVariable {ev} WarningVariable {wv} InformationVariable {iv} OutVariable {ov} OutBuffer {ob} PipelineVariable {pv} |
Puertos UDP utilizados
1 | (Get-NetUDPEndpoint).LocalPort |
Ejemplo
Listar puertos UDP abiertos
1 | Get-NetUDPEndpoint | Select-Object LocalPort |
Capa de aplicación
La capa de aplicación define las aplicaciones de red y los servicios de Internet estándar que puede utilizar un usuario. Estos servicios utilizan la capa de transporte para enviar y recibir datos.
Existen varios protocolos de capa de aplicación. En la lista siguiente se incluyen ejemplos de protocolos de capa de aplicación, algunos ejemplos son:
- Servicios TCP/IP estándar como los comandos ftp, tftp y telnet.
- Servicios de nombres, como NIS o el sistema de nombre de dominio (DNS).
- Servicios de directorio (LDAP).
Vemos en detalle el servicio de nombres DNS.
DNS
El sistema de nombre de dominio (DNS) es el servicio de nombres que proporciona Internet para las redes TCP/IP. DNS proporciona nombres de host al servicio de direcciones IP. También actúa como base de datos para la administración del correo.
Los cmdlets relacionados con DNS
1 | Get-Command -Module DnsClient |
El sistema de nombres de dominio (DNS, por sus siglas en inglés, Domain Name System) es un sistema de nomenclatura jerárquico descentralizado para dispositivos conectados a redes IP como Internet o una red privada. Este sistema asocia información variada con nombre de dominio asignado a cada uno de los participantes.
Realizar una consulta DNS
El cmdlet que sirve para realizar una consulta de resolución de nombres
1 | Resolve-DnsName |
Parámetros y alias de los parámetros para el cmdlet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | Name {} Type {} Server {} DnsOnly {} CacheOnly {} DnssecOk {} DnssecCd {} NoHostsFile {} LlmnrNetbiosOnly {} LlmnrFallback {} LlmnrOnly {} NetbiosFallback {} NoIdn {} NoRecursion {} QuickTimeout {} TcpOnly {} Verbose {vb} Debug {db} ErrorAction {ea} WarningAction {wa} InformationAction {infa} ErrorVariable {ev} WarningVariable {wv} InformationVariable {iv} OutVariable {ov} OutBuffer {ob} PipelineVariable {pv} |
Ejemplo
Resolver el dominio microsoft.com utilizando los servidores DNS
1 2 | Resolve-DnsName microsoft.com Resolve-DnsName www.microsoft.com |
Ver el contenido de la caché del cliente DNS
El cmdlet que sirve para ver el contenido de la caché del cliente DNS
1 | Get-DnsClientCache |
Parámetros y alias de los parámetros para el cmdlet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | Entry {} Name {RecordName} Type {RecordType} Status {} Section {} TimeToLive {TTL} DataLength {} Data {} CimSession {Session} ThrottleLimit {} AsJob {} Verbose {vb} Debug {db} ErrorAction {ea} WarningAction {wa} InformationAction {infa} ErrorVariable {ev} WarningVariable {wv} InformationVariable {iv} OutVariable {ov} OutBuffer {ob} PipelineVariable {pv} |
Borrar el contenido de la caché del cliente DNS
El cmdlet que sirve para borrar el contenido de la caché del cliente DNS
1 | Clear-DnsClientCache |
Parámetros y alias de los parámetros para el cmdlet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | CimSession {Session} ThrottleLimit {} AsJob {} Verbose {vb} Debug {db} ErrorAction {ea} WarningAction {wa} InformationAction {infa} ErrorVariable {ev} WarningVariable {wv} InformationVariable {iv} OutVariable {ov} OutBuffer {ob} PipelineVariable {pv} WhatIf {wi} Confirm {cf} |
Información sobre las direcciones IP del servidor DNS
El cmdlet que sirve para ver direcciones servidores DNS
1 | Get-DnsClientServerAddress |
Parámetros y alias de los parámetros para el cmdlet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | InterfaceIndex {} InterfaceAlias {} AddressFamily {Family} CimSession {Session} ThrottleLimit {} AsJob {} Verbose {vb} Debug {db} ErrorAction {ea} WarningAction {wa} InformationAction {infa} ErrorVariable {ev} WarningVariable {wv} InformationVariable {iv} OutVariable {ov} OutBuffer {ob} PipelineVariable {pv} |
Ejemplos
Obtener las direcciones IP del servidor DNS se configuran en todas las interfaces de un equipo
1 | Get-DnsClientServerAddress |
Ver las direcciones de los servidores DNS del adaptador Wi-Fi
1 | Get-NetAdapter -Name "AdaptadorWi-Fi" | Get-DnsClientServerAddress |
Cambiar servidores DNS
El cmdlet que sirve para cambiar los servidores DNS
1 | Set-DNSClientServerAddress |
Parámetros y alias de los parámetros para el cmdlet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | InterfaceIndex {} InterfaceAlias {} InputObject {} ServerAddresses {Addresses} Validate {} ResetServerAddresses {ResetAddresses} CimSession {Session} ThrottleLimit {} AsJob {} PassThru {} Verbose {vb} Debug {db} ErrorAction {ea} WarningAction {wa} InformationAction {infa} ErrorVariable {ev} WarningVariable {wv} InformationVariable {iv} OutVariable {ov} OutBuffer {ob} PipelineVariable {pv} WhatIf {wi} Confirm {cf} |
Ejemplo
Cambiar los servidores DNS
1 | Set-DNSClientServerAddress -interfaceAlias WiFi -ServerAddresses ("192.168.1.5","192.168.1.6") |
Habilitar DHCP para los servidores DNS
El cmdlet que sirve para habilitar el DHCP en DNS
1 | Set-DNSClientServerAddress -InterfaceAlias Wifi -ResetServerAddress |
Diagnóstico de conexiones
Existen cmdlets para diagnosticar conexiones de red, el principal cmdlet es
1 | Test-NetConnection |
Parámetros y alias de los parámetros para el cmdlet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | ComputerName {RemoteAddress, cn} TraceRoute {} Hops {} CommonTCPPort {} Port {RemotePort} DiagnoseRouting {} ConstrainSourceAddress {} ConstrainInterface {} InformationLevel {} Verbose {vb} Debug {db} ErrorAction {ea} WarningAction {wa} InformationAction {infa} ErrorVariable {ev} WarningVariable {wv} InformationVariable {iv} OutVariable {ov} OutBuffer {ob} PipelineVariable {pv} |
Muestra información de diagnóstico para una conexión, se pueden realizar varias pruebas con el cmdlet dependiendo de los parámetros de entrada y la salida se puede incluir los resultados de búsqueda de DNS, lista de interfaces IP, reglas IPsec, resultados de selección de dirección de ruta / fuente y / o confirmación de establecimiento de conexión.
Ejemplo
Realizar una prueba de la conectividad ping con resultados detallados
1 | Test-NetConnection -InformationLevel "Detailed" |