Как подключиться к службе telnet с помощью bash?

Причина этой ошибки в том, что здесь eth0означает две разные вещи:

  • либо фактическое имя интерфейса, видимое ядром, iproute2 tools, ethtool , dhclient и т. д., которые существуют,

  • или конфигурация интерфейса в инструментахifupdown , указывающая на фактическое имя интерфейса. Здесь, если eth0никогда не было определено в конфигурации, тогда ifup не знает :, что является сообщением об ошибке.

    Простой способ воспроизвести эту ошибку:

    # ip link add name veth5 type veth peer name veth6
    # ethtool veth5
    Settings for veth5:
        Supported ports: [ ]
    [...]
        Link detected: no
    # ifup veth5
    ifup: unknown interface veth5
    

Так что интерфейс не пропал. инструмент ifupdown не настроен на его использование.

В вашем случае вы можете добавить в конец/etc/network/interfaces(или в отдельный файл например /etc/network/interfaces.d/eth0, если файл interfacesвключает в себя каталог interfaces.dв своем конфиге )эти две строки:

auto eth0
iface eth0 inet dhcp

Чтобы инструменты ifupdown и команда ifupзнали об этом и настраивали DHCP при загрузке. Я понятия не имею, почему этого не было раньше.

В моем предыдущем поддельном примере, где я аналогичным образом добавил veth5определение (в Debian 9):

# ifup -a
Internet Systems Consortium DHCP Client 4.3.5
Copyright 2004-2016 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/veth5/1e:96:59:c3:e4:0c
Sending on   LPF/veth5/1e:96:59:c3:e4:0c
Sending on   Socket/fallback
DHCPDISCOVER on veth5 to 255.255.255.255 port 67 interval 8

0
06.11.2020, 02:29
2 ответа

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

#!/usr/bin/expect
set timeout 20
set name 192.168.1.169
set user "root"
set passwd  "solokey"

spawn telnet $name
expect "ZMM100 login: "
send "$user\r"
expect "Password: "
send "$passwd\r"
expect "#"
send "cd /mnt/mtdblock/data/ \r"
expect "#"
send "rm -rf ZKDB.db.bak \r"
expect "#"
send "cp ZKDB.db ZKDB.db.bak \r"
expect "#"
send "cat ZKDB.db.bak | nc -l -p 6666 \r"
expect "#"

уже только на стороне клиента, выполняем

nc 192.168.1.169 6666 <ZKDB.db.bak
0
18.03.2021, 22:52

Telnet является удаленным исполнителем команд и не подойдет вам в качестве FTP-клиента.

Что вы можете сделать, так это заставить netcat прослушивать локальный порт, затем подключиться по telnet к удаленному хосту и использовать netcat для потоковой передачи удаленного файла на локальный порт и перенаправления вывода в локальный файл.

На локальном хосте:

nc -l -p <port> > <output_file>

На удаленном компьютере используйте telnet для выполнения этой команды:

nc -w 3 <local_host_ip> <port>  < <input_file>

Кроме того, поскольку вы не можете использовать ssh, ftp, вы можете открыть доступ к http-серверу. (Используя python SimpleHTTPServer, если он установлен )или любой http-сервер на удаленном сервере, а затем используйте wget для загрузки ваших файлов.

На удаленном хосте:

cd <to_the_directory_to_expose>
python -m SimpleHTTPServer

На локальном компьютере:

wget http://<remote_host_ip>:8000/<filename>
0
18.03.2021, 22:52

Теги

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