Я пытаюсь потыкать/попинговать удаленную машину Linux без использования ssh
. Есть ли другие утилиты для этого?
Дополнение: Было бы очень полезно, если бы можно было делать poke без предоставления пароля удаленной машины. Возможно ли это?
Обновление: Я узнал об инструментах write
и wall
. Кто-нибудь знает, как ими пользоваться?
решение1
knockd
может быть вашим ответом.
Серверная часть:
- Установить
knockd
-->sudo apt-get install knockd
- Редактировать файл конфигурации -->
sudo nano /etc/knockd.conf
также можно использоватьgedit
илиvi
. После редактирования файл конфигурации должен выглядеть следующим образом:
[options] LogFile = /var/log/knockd.log Interface = wlan0 [sendMessage] sequence = 1111,2222 seq_timeout = 5 command = /usr/bin/env sh -c "echo 'Hello, World' | wall" tcpflags = syn
Где
Interface
находится прослушиваемый сетевой интерфейс,sequence
какова последовательность стука порта иcommand
команда, которая должна быть выполнена при стуке.Изменить файл запуска -->
sudo nano /etc/default/knockd
В этом файле вам нужно изменить толькоSTART_KNOCKD=0
наSTART_KNOCKD=1
Перезагрузите
knockd
, чтобы применить изменения с помощьюsudo /etc/init.d/knockd reload
Клиентская часть:
Просто выполните telnet в указанном порядке портов сервера и команда будет выполнена.
telnet MYSERVER 1111
telnet MYSERVER 2222
Вы также можете воспользоваться knock
утилитой:
knock MYSERVER 1111 2222
Заключительные замечания
- Вы также можете просмотреть эти соединения в
Logfile
указанном, (т.е./var/log/knockd.log
) - Вы можете использовать более сложную комбинацию портов (например
5555,5050,3333,3030
, ) - Вы можете прочитать всю документацию по адресувеб-страница разработчика
- Вы можете прочитать отличный урок насообщество убунту
решение2
Вы можете попробовать nc
(netcat) отправлять/получать любые сообщения (включая файлы) по сети.
Например, компьютер A имеет IP-адрес 192.168.1.10, а компьютер B имеет IP-адрес 192.168.1.20.
Сначала откройте порт на компьютере A, к которому будет подключаться компьютер B:
$ nc -l 2000
Теперь компьютер A будет прослушивать входящие соединения на порту 2000. Вам следует использовать любой порт, кроме «0-1023», т.е. общеизвестные порты.
Теперь установим соединение с компьютера B к порту 2000 компьютера A:
$ nc 192.168.1.10 2000
Теперь компьютеры будут соединены, и вы сможете написать любое сообщение с компьютера А, которое будет отображено на компьютере Б, и наоборот.