Как подключить компьютер к сети в локальной сети?

#linux

#linux

Вопрос:

Мне нужно знать, когда конкретный компьютер (ip и MAC которого мне известны) подключен к локальной сети. Я хочу избежать всех механизмов опроса, возможно ли это в Linux достичь этого? Возможно, путем прослушивания icmp-пакета?

Спасибо

Комментарии:

1. 7 вопросов за 5 месяцев и ни одного принятого ответа?

2. Вы пишете часть программного обеспечения для этого или что вы ищете?

3. Почему вы хотите избежать механизмов опроса?

Ответ №1:

Если вы контролируете шлюз, вы можете просто отслеживать трафик и посмотреть, поступает ли он с / на этот хост (через MAC или IP-адрес).

В противном случае все усложняется, и в большинстве случаев требуется какой-то опрос — в коммутируемой сети вы обычно не увидите трафик, предназначенный для другого хоста; самым надежным способом проверки «онлайн-доступности» был бы ARP, возможно, с помощью arping (или самостоятельно выполнять запросы ARP и отслеживать трафик на предмет ответов ARP).

Обратите внимание, что ни один из этих подходов не является «беспроигрышным» — с помощью таких инструментов, как powernap , (временно) автономные хосты могут казаться подключенными к Сети.

Ответ №2:

Вы можете использовать NMAP для сканирования вашей сети с помощью простого сканирования типа ping, чтобы увидеть, какие хосты подключены, а какие нет. Это механизм опроса, но если вы не можете запрограммировать маршрутизаторы / коммутаторы в вашей сети, чтобы они сообщали вам, когда MAC или IP-адрес XYZ начал отправлять трафик, я не знаю другого способа сделать это.