Менеджер по оформлению передает управление к Вашей настольной сессии путем запущения программы. Все, что необходимо сделать для возврата управления, имеют настольную сессию, оконечную путем вызова exit
.
Например, в моей системе Fedora, выполнениях менеджера по оформлению /etc/X11/xinit/Xsession
, который запускает настольный менеджер сеансов.
Для завершения работы? Завершите все процессы, которые Вы запустили (и их потомки), затем используйте процедуру завершения работы своей операционной системы, например, работайте init 0
, /sbin/shutdown
, или подобный.
У Вас могла бы быть лучшая удача с помощью инструмента arping
вместо этого. Инструмент ping
работы над уровнем уровня 3 модели OSI, тогда как arping
работы над уровнем 2.
Все еще необходимо знать IP системы однако с этим инструментом. Существует 2 версии его, стандартный, включенный с большей частью Unixes (Alexey Kuznetsov), является версией, которая может только иметь дело с IP-адресами. Другая версия (Thomas Habets), предположительно, может запросить MAC-адреса использования.
$ sudo arping 192.168.1.1 -c 1
ARPING 192.168.1.1 from 192.168.1.218 eth0
Unicast reply from 192.168.1.1 [00:90:7F:85:BE:9A] 1.216ms
Sent 1 probes (1 broadcast(s))
Received 1 response(s)
arping
работы так же к ping
кроме вместо того, чтобы отправить пакеты ICMP, это отправляет пакеты ARP.
Вот несколько методов для того, чтобы сделать обратный поиск MAC к IP.
nmap
$ nmap -sP 192.168.1.0/24
Затем посмотрите в своем кэше ARP для соответствующей машины arp -an
.
fping
$ fping -a -g 192.168.1.0/24 -c 1
Затем посмотрите в своем кэше ARP, то же как выше.
ping
$ ping -b -c1 192.168.1.255
Затем посмотрите в своем кэше ARP, то же как выше.
nbtscan (окна только размещает),
$ nbtscan 192.168.1.0/24
Doing NBT name scan for addresses from 192.168.1.0/24
IP address NetBIOS Name Server User MAC address
------------------------------------------------------------------------------
192.168.1.0 Sendto failed: Permission denied
192.168.1.4 MACH1 <server> <unknown> 00-0b-12-60-21-dd
192.168.1.5 MACH2 <server> <unknown> 00-1b-a0-3d-e7-be
192.168.1.6 MACH3 <server> <unknown> 00-21-9b-12-b6-a7
ether-wake
команда будет работать MAC-адресом, поэтому конечно, Вы (a) не будет нужен IP-адрес и (b) можно ли отправить команду без вреда (если это уже будет бодрствовать, то бужение его не окажет влияния?)
Вы видите список своего существующего кэша ARP при помощи arp -an
и держа, чтобы Ваш MAC получил IP целевого узла. Однако, потому что arp является кэшем, он, возможно, был "приведен к таймауту" кэша (и все еще бодрствовать). Вам затем, вероятно, придется использовать метод грубой силы, чтобы найти, что это - IP, такой как:
sudo nmap -sP 192.168.2.0/24 | less
(и затем ищите 00:0c:0d:ef:02:03) - если брандмауэры и другие такие вещи не мешают!
ether-wake
не достигнуть его). Я на самом деле получил бы доступ к другому хосту на месте, поместил бы целевую машину, чтобы спать и попытаться ether-wake
. По природе того, как WOL работает, запрос должен будет быть отправлен на той же подсети как хост так или иначе
– Drav Sloan
09.08.2013, 23:06
Вы не можете пинговать обычную сетевую карту, потому что сама по себе сетевая карта не посылает никаких ответов.
Обычные сетевые интерфейсные карты не посылают ответы сами по себе. Для этого им всегда требуется работающее программное обеспечение на компьютере.
Когда центральный процессор компьютера выключен, нет работающего программного обеспечения, которое могло бы послать ответ на запрос ping.
Wake-on-LAN позволяет компьютеру позволить только сетевой карте быть частично включенной, чтобы получать кадры Ethernet и искать в них магическую последовательность пробуждения, но сетевая карта все равно не будет посылать никакого ответа. Wake-on-LAN является строго однонаправленным. Ответы не посылаются.
Существуют некоторые специальные сетевые карты, которые могут сами посылать ответы, например, реализующие полную разгрузку TCP handshake.
Моим приложением был сервер, подключенный к рабочей станции для получения каталога документов рабочей станции ... но рабочая станция не имела гарантированного IP-адреса, но имела известный MAC-адрес (IP-адрес был создан с помощью DHCP). этот код использует ТОЛЬКО ping.
export COUNTER=1
while [ $COUNTER -lt 255 ]
do
#ping $1$COUNTER -c 1 -w 400 | grep -B 1 "Lost = 0" &
# activate all 254 addresses in the subnet.. dont really need to grep the ping output
ping 192.168.0.$COUNTER -c 1 -w 4 2> /dev/null | grep -B 1 ' 0\% packet loss' > /dev/null &
COUNTER=$(( $COUNTER + 1 ))
done
# wait till 254 background processes finished
wait
# the arp cache will automatically flush it's incomplete entries in about 10 minutes...
#echo "finished"
#
#SRC_SERVER_IP="192.168.0.160:873"
SRC_SERVER_IP=$(arp -a | grep "00:22:4d:81:8f:76" | awk '{print $2}' | sed 's/[()]//g')":873"
if [ $SRC_SERVER_IP == ":873" ] ; then
echo "ws1.example.com is not on the network... exiting..."
exit 0
fi
Вот простой скрипт для проверки связи по mac-адресу. Просто сохраните и запустите, например,
macping aa:bb:cc:dd:ee:ff
Вы также можете объединить результат в цепочку, чтобы условно выполнять другие действия, например:
macping aa:bb:cc:dd:ee:ff && echo do something if online || echo do something if offline
-
#!/bin/bash
network=192.168.1.1/24
if [ "$#" -ne 1 ]; then echo Usage example: $0 aa:bb:cc:dd:ee:ff; exit 2; fi;
nmap -sP $network >& /dev/null
ip=$(arp -n | grep $1 | awk ' { print $1 }')
ping $ip -n -q -c 2 -i 0.2 -w 1 >& /dev/null
if [ $? -eq 0 ]; then
echo Device is online \($ip\)
else
echo Device is offline
exit 1
fi;
Это не зависит ни от разных версий arping, ни от сложных скриптов bash:
ping $(arp-scan --localnet | grep 80:1f:02:fa:90:b7 | awk ' { printf $1 } ')
Я использовал сканирование arp -вместо arp, так как оно работает намного быстрее.
arping
может взять MAC-адрес в качестве параметра:arping -c 5 38:e7:d8:63:5e:a6
– 10.08.2013, 00:03arping
к MAC-адресу: Да, существует две реализации изнасилования 1. от Linux iputils 2. изнасилование Thomas Habets.---Только 2. реализация может проверить с помощью ping-запросов MAC-адрес, но такой ping очень хитер: проверенная с помощью ping-запросов машина все еще должна иметь настроенный TCP/IP (по крайней мере, IP-адрес), и это должно смочь ответить на ping к широковещательному IP-адресу. – pabouk 19.08.2015, 16:02