Используя telnet в сценарии оболочки

NETCRAFT!

btw, статистические данные мертвы - netcraft, подтверждает это!

8
задан 5 August 2011 в 12:26
7 ответов

Если Вы просто надеетесь проверять, открыт ли порт, попробуйте:

$ nc -zv 10.10.10.24 3306
Connection to localhost 3306 port [tcp/mysql] succeeded!

nc возвратится 0, если порт будет открыт и 1, если это не. Это довольно полезно для сценариев также. Опустите v переключитесь для хранения этого тихим:

if ! nc -z 10.10.10.24 3306
then
    do_something
fi
12
ответ дан 2 December 2019 в 22:42

Для автоматизации сценария telnet необходимо использовать, ожидают. Посмотрите ожидать домашнюю страницу.

2
ответ дан 2 December 2019 в 22:42

nc намного лучше для неинтерактивного использования. Попробуйте что-то как

echo -e "\n\n" | nc 10.10.10.24 3306
9
ответ дан 2 December 2019 в 22:42

Если у Вас нет nc, можно использовать удар специальные перенаправления файлов:

head -1 < /dev/tcp/10.10.10.24/3306 >/dev/null && echo MySQL is on || echo MySQL is off
4
ответ дан 2 December 2019 в 22:42

Я использовал бы netcat, и это - '-w' вместо этого;

host:~ user$  nc -w 1 1.2.6.1 3306
?
5.1.57-1~dotdeb.1?WO`rA*L#h?b4z.pmT;i~^;host:~ user$ 
0
ответ дан 2 December 2019 в 22:42

Это мой скрипт для любых конкретных случаев.

host=localhost
DATE=`date +%Y-%m-%d`
TIME=`date +%H%M%S`
LOG_OK=/tmp/telnet_ok
LOG_FAIL=/tmp/telnet_falha

for port in 80 25 22 443 110
do
if telnet -c $host $port </dev/null 2>&1 | grep -q Escape; then
  echo "$DATE $TIME  $port: Connected" >> $LOG_OK
else
  echo "$DATE $TIME $port : no connection" >> $LOG_FAIL
fi
done

http://fajlinux.com.br/2014/10/10/script-monitorando-via-telnet/

1
ответ дан 2 December 2019 в 22:42

Вот как использовать telnet в оболочке bash / expect

#!/usr/bin/expect
# just do a chmod 755 one the script
# ./YOUR_SCRIPT_NAME.sh $YOUHOST $PORT
# if you get "Escape character is '^]'" as the output it means got connected otherwise it has failed

set ip [lindex $argv 0]
set port [lindex $argv 1]

set timeout 5
spawn telnet $ip $port
expect "'^]'."
0
ответ дан 2 December 2019 в 22:42

Теги

Похожие вопросы