Como posso saber quais das várias placas de rede estão em uso?

5

Suponha que eu tenha várias placas de rede conectadas ao meu PC, como posso saber qual placa é usada para comunicação. Por exemplo, se eu usar

ping 192.168.x.xxx

Gostaria de saber qual cartão (e qual endereço IP) usou para comunicação.

O comando

netstat

nos informará sobre as conexões ativas. Não estou interessado em conexões ativas, mas gostaria de saber qual placa será usada na próxima conexão. Ou seja, se usarmos ping , qual cartão (ou endereço IP) será usado?

    
por Muhammed Rauf K 30.06.2011 / 10:13

3 respostas

3

Experimente route print ; Ele mostrará a tabela de redes do sistema operacional e qual interface de rede ele usará para cada um deles, ou onde há vários cartões em uma rede, a ponderação que será usada na distribuição do tráfego. Eu só tenho um cartão nesta máquina, então isso não é muito interessante:

===========================================================================
Interface List
0x1 ........................... MS TCP Loopback interface
0x2 ...00 12 34 56 78 9a ...... Intel(R) 82566DM Gigabit Network Connection
===========================================================================
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      123.45.67.1   123.45.67.137       10
        127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1       1
      234.254.0.0      255.255.0.0    123.45.67.137   123.45.67.137       20
      123.45.67.0    255.255.255.0    123.45.67.137   123.45.67.137       10
    123.45.67.137  255.255.255.255        127.0.0.1       127.0.0.1       10
   123.45.255.255  255.255.255.255    123.45.67.137   123.45.67.137       10
        224.0.0.0        240.0.0.0    123.45.67.137   123.45.67.137       10
  255.255.255.255  255.255.255.255    123.45.67.137   123.45.67.137       1
    Default Gateway:       123.45.67.1
===========================================================================
Persistent Routes:
  None

do tráfego de segunda linha até 127.x.x.x usará a interface de loopback, mas o tráfego para multicast e todo o resto usará a placa de rede. Não sei como ler isso programaticamente , porém, desculpe.

    
por 30.06.2011 / 11:19
3

netstat diria a você - o endereço local listado no netstat seria o endereço IP da placa de rede que você está usando

Vamos pegar um trecho da minha própria saída netstat no windows - eu estou conectado à minha lan sobre 192.168.1.127, e uma conexão de cross cross sobre 10.0.0.2

 Proto  Local Address          Foreign Address        State
  TCP    10.0.0.2:56702         ARTEMIS:ms-wbt-server  ESTABLISHED
  TCP    127.0.0.1:19872        Athena:49172           ESTABLISHED
  TCP    192.168.1.127:2869     192.168.1.254:49565    TIME_WAIT
  TCP    192.168.1.127:56523    stackoverflow:http     ESTABLISHED

10.0.0.2 é o adaptador no crossover local, conectado ao ARTEMIS, que está executando um servidor RDP, 192.168.1.127 está falando com meu roteador, que é 192.168.1.254, e stackoverflow. Note também que as conexões locais em 127.0.0.1 são representadas.

no linux você pode precisar usar

netstat -n

eu só tenho uma porta ativa na minha caixa linux, mas vai parecer algo como - para um endereço IP 192.168.1.127

   tcp        0     52 192.168.1.127:22        121.7.51.154:56383      ESTABLISHED
    
por 30.06.2011 / 10:17
2

O cartão utilizado é determinado pelo endereço IP configurado nesse cartão. Vale a pena notar que geralmente não é válido configurar endereços IP na mesma sub-rede para diferentes interfaces físicas. (Sim, existem exceções a isso, mas elas são geralmente muito específicas e provavelmente não serão úteis para você neste nível).

Qual cartão físico está associado a qual nome lógico dentro de seu sistema operacional é um problema mais espinhoso. A maneira mais fácil de determinar isso é desconectar todos os cabos de rede, menos um, e ver em qual endereço IP você ainda pode se comunicar.

Qual sistema operacional você está usando, para certos tipos de sistema operacional, às vezes, há maneiras mais fáceis de determinar qual placa foi desconectada - o Windows, por exemplo, fornece feedback visual através dos ícones da bandeja do sistema.

    
por 30.06.2011 / 10:18