consultando dispositivo conectado através de ethernet

0

Eu tenho um dispositivo (câmera de alta velocidade) que se comunica através de uma porta ethernet. Quando eu conecto ao meu computador (Scientific Linux 6.4 x64) eu vejo luzes indicadoras piscando tanto na porta do computador quanto na câmera, sugerindo que há algum tipo de transmissão de dados acontecendo, pelo menos inicialmente.

O problema é que o dispositivo não é visível para nenhuma das ferramentas projetadas para trabalhar com ele. Então, gostaria de interagir com esse dispositivo em um nível mais baixo, em parte para depurar, em parte para a educação e, em parte, como um teste de sanidade.

Sou muito novo em redes e por isso estou confuso em alguns conceitos básicos, mas eu queria saber se havia alguma maneira de enviar uma transmissão ou um pacote ou alguma outra maneira de investigar / comunicar diretamente com a câmera?

Eu tentei usar o nmap (para fazer ping em intervalos de IP) e isso não me levou a nenhum lugar (não sei se uma câmera conectada diretamente à ethernet deveria necessariamente ter um IP). Eu também tentei usar arp-scan, isso também falhou por razões semelhantes (sem IP para eth0).

EDIT - Mais informações:

Camera Make: AOS

Modelo de câmera: X-PRI

Software: AOS CaPIICam SDK (Como um aparte, isto é feito para rodar no Windows, e eu tentei executá-lo através de um ambiente nativo do Windows e do Wine, com resultados idênticos.)

Não tenho certeza do tipo de cabo que estou usando. O padrão de arame nas duas extremidades é idêntico (laranja-azul-verde-marrom) e, portanto, acredito que não seja atravessado. Estou me conectando diretamente da Câmera - > Cabo - > Computador.

Quanto ao código-fonte, aqui está:

int main() {
    CCaPIICam   MyCam;
    CAM_RC      rc;
    int         ndev;
    char*       sNames[50];

    for (int i = 0; i < 50; i++)
        sNames[i] = new char[40];
    rc = MyCam.GetCamNames(ndev, sNames);

    camerror(rc);

    getchar();
    return EXIT_SUCCESS;
}

em que camerror (int) é apenas uma rotina de impressão para console do switch para relatar os códigos de erro de acordo com a documentação da API. Ele compila e liga bem sob o Windows nativo e em uma VM, mas o camerror () informa "nó inválido" em GetCamNames () que não está definido na documentação.

    
por evenex_code 08.08.2013 / 21:35

2 respostas

1

ping tem uma opção de transmissão no Linux que você pode tentar.

Procure em algum lugar na câmera um endereço MAC, que, se for Ethernet, deve estar em algum lugar no dispositivo, ou possivelmente nos menus configurados do dispositivo, se houver algum. Você pode então arping para ver se obteve ou diz a você o que acha ser seu IP. Se você puder acessar as tabelas DHCP do seu roteador ou servidor DHCP, você pode verificar lá qualquer nome de host que sugira uma câmera, se ela pegar um endereço IP.

Caso contrário, se você acredita que a transmissão está ocorrendo, você precisará acionar um analisador de pacotes e espionar a interface à qual está conectado. tcpdump pode ajudar, assim como o Wireshark ou sua linha de comando equivalente tshark pode ser útil.

    
por 08.08.2013 / 21:48
0

O servidor DHCP na sua rede deve ter informações sobre a câmera; seria um pouco míope para o fabricante codificar os parâmetros de configuração IP.

Para ver se a câmera está fazendo solicitações DHCP , use tcpdump -nvv udp port 67 na sua caixa Linux. No Mac OS X, recebi a seguinte saída quando liguei meu WiFi:

  0.0.0.0.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request from 68:a8:6d:58:5b:f3, length 300, xid 0xd5752fa1, secs 2, Flags [none] (0x0000)
      Client-Ethernet-Address 68:a8:6d:58:5b:f3
      Vendor-rfc1048 Extensions
        Magic Cookie 0x63825363
        DHCP-Message Option 53, length 1: Discover
        Parameter-Request Option 55, length 9: 
          Subnet-Mask, Default-Gateway, Domain-Name-Server, Domain-Name
          Option 119, LDAP, Option 252, Netbios-Name-Server
          Netbios-Node
        MSZ Option 57, length 2: 1500
        Client-ID Option 61, length 7: ether 68:a8:6d:58:5b:f3
        Lease-Time Option 51, length 4: 7776000
        Hostname Option 12, length 10: "mini-nevie"

Espero que isso ajude ....

    
por 10.08.2013 / 08:54