У меня есть устройство (высокоскоростная камера), которое связывается через порт Ethernet. Когда я подключаю его к своему компьютеру (Scientific Linux 6.4 x64), на порту компьютера и на камере мигают световые индикаторы, указывая на то, что происходит какая-то передача данных, по крайней мере, на начальном этапе.

Проблема в том, что устройство не видно ни одному из инструментов, предназначенных для работы с ним. Поэтому я хотел бы взаимодействовать с этим устройством на более низком уровне, частично для отладки, частично для обучения и частично для проверки работоспособности.

Я очень плохо знаком с сетевыми технологиями и поэтому, вероятно, запутался в некоторых базовых понятиях, но мне было интересно, есть ли какой-нибудь способ отправить широковещательную рассылку или пакет или какой-то другой способ исследовать / связаться с камерой напрямую?

Я попытался использовать nmap (для проверки связи с диапазонами IP-адресов), и это никуда меня не привело (я не знаю, должен ли IP-адрес камеры, напрямую подключенной к Ethernet, обязательно). Я также попытался использовать arp-scan, но это также не удалось по тем же причинам (нет IP для eth0).

РЕДАКТИРОВАТЬ - Дополнительная информация:

Производитель камеры: AOS

Модель камеры: X-PRI

Программное обеспечение: AOS CaPIICam SDK (Кроме того, он предназначен для работы в Windows, и я попытался запустить его как в собственной среде Windows, так и в Wine, с одинаковыми результатами.)

Я не уверен, какой тип кабеля я использую. Структура проволоки на обоих концах идентична (оранжево-сине-зелено-коричневая), поэтому я предполагаю, что она не пересекается. Я подключаюсь напрямую с камеры -> Кабель -> Компьютер.

Что касается исходного кода, вот он:

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;
}

где camerror(int) - это просто процедура печати на консоль коммутатора для сообщения о кодах ошибок в соответствии с документацией API. Он прекрасно компилируется и связывается под родной Windows и на виртуальной машине, но camerror() сообщает о "неверном узле" в GetCamNames(), который не определен в документации.

2 ответа2

1

ping есть возможность вещания в Linux, которую вы можете попробовать.

Найдите где-нибудь на камере MAC-адрес, который, если это Ethernet, должен быть где-то на устройстве, или, возможно, в меню настройки устройства, если оно есть. Вы можете arping , чтобы увидеть , если он получен или говорит вам , что он считает его IP. Если вы можете попасть в таблицы DHCP вашего маршрутизатора или сервера DHCP, вы можете проверить там любое имя хоста, которое предлагает камеру, если она захватила IP-адрес.

В противном случае, если вы считаете, что передача происходит, вам нужно запустить анализатор пакетов и отследить интерфейс, к которому он подключен. tcpdump может помочь, а также Wireshark или его эквивалент командной строки tshark может быть полезной.

0

DHCP-сервер вашей сети должен иметь информацию о камере; было бы недальновидно для производителя жестко задавать параметры конфигурации IP.

Чтобы узнать, выполняет ли камера запросы DHCP , используйте tcpdump -nvv udp port 67 на вашем Linux-компьютере. В Mac OS X я получил следующий вывод при включении 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"

Надеюсь это поможет....

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .