У меня работает устройство посещаемости Linux OS
. Я могу подключить это устройство через сеанс Telnet. В устройстве есть несколько файлов, которые я хотел бы загрузить и загрузить с новыми файлами. Как я могу это сделать? У меня очень низкие знания по ОС Linux. Не могли бы вы помочь!
15
busybox --help
и,ls -l /bin
иls -l /usr/bin
, пожалуйста.Ответы:
Это зависит от того, какие инструменты установлены на клиентском устройстве / поддерживаются ядром.
Возможные способы передачи файлов (неупорядоченные):
netcat
илиsocat
или сbash
и / dev / tcpwget
илиcurl
с веб-сервераПрочтите Простая передача файлов и Как получить файл на хост, когда у вас есть только последовательная консоль? для большего количества возможностей.
Скопируйте
desktop.jpg
с устройства на компьютер с помощью метода netcat / nc:На вашем компьютере временно отключите (или перенастройте, если возможно) любой брандмауэр и запустите
и на устройстве
где вам нужно заменить ABCD на IP-адрес вашего компьютера. Как только передача прошла успешно, процесс netcat на вашем компьютере должен автоматически остановиться. Если нет, то что-то не так, и вы можете остановить это сCtrl+C
По другому направлению просто обменяюсь
<
и>
с обеих сторон. Сделайте сначала резервную копию оригиналаdesktop.jpg
(cp desktop.jpg desktop_orig.jpg
).источник
sz
для отправки файлов через терминал. Вам это понадобится с обеих сторон.У меня нет ssh или ftp (или т. Д.) На устройстве.
Итак, я делаю следующее:
telnet a.b.c.d | tee telnet.log
cat file.txt
telnet.log
от мусораДолжно быть легко написать утилиту для загрузки / выгрузки файла через telnet
источник
Попробуй с
rcp
командой.Используйте
man rcp
для получения дополнительной информации, если вы хотите автоматизировать переводы.Кстати, вы знаете, это очень небезопасно , верно?
источник
Я только что загрузил файл прошивки размером ~ 7 Кбайт во встроенную систему Linux на базе BusyBox через последовательный порт.
Нет сетей, нет утилит для передачи файлов; Нет Base64 утилит или что-нибудь удаленно полезное на устройстве.
На хосте я тривиально зашифровал прошивку в следующий формат; своего рода шестнадцатеричный дамп, состоящий из литералов оболочки в сочетании с
printf
командами:в основном
printf
команды оболочки с\x
escape-последовательностями, которыеprintf
интерпретируют. На устройстве я сделал:затем использовал
minicom
файл ASCII для отправки (Ctrl-AS ) для отправки этого файла на хост. Я мог бы просто использовать копирование и вставку, так как объем данных невелик.Затем помечаем исполняемый файл и запускаем
printf
скрипт:Проверено с помощью BusyBox,
md5sum
чтоfirmware.bin
контрольная сумма на устройстве соответствует исходному образу прошивки на хосте.PS Синтаксис двойных кавычек оболочки проходит
\x
дословно, потому что это не распознанная escape-последовательность; следовательно, нам не нужно удваивать обратную косую черту.источник
@jofel и все остальные, большое спасибо за вашу помощь. Я думаю, что устройство имеет настроенную ОС, так как распознает только некоторые конкретные команды Linux. Netcat не распознается устройством. Однако сегодня мне удалось передать файл с помощью команды tftp. Я успешно заменил файл desktop.jpg этой командой. То, что я сделал, создал tftp сервер в оконной системе. Войдите в систему через telnet на устройстве и выполните следующие команды:
скачать файл tftp -l -p tftp -l desktop.jpg - 192.168.0.249 69
загрузить файл tftp -l desktop.jpg -g 192.168.0.249 69
источник
Я сделал это сейчас с помощью этих методов:
Создайте ftp сервер (установив solerwinds) в оконной системе. Войдите в систему через telnet на устройстве и выполните следующие команды:
Чтобы скачать файл:
Пример:
или загрузить файл:
Пример:
расположение по умолчанию для файла tftp
C:\TFTP-Root
источник
Я использую следующий метод для загрузки небольших двоичных файлов через telnet в окно Windows:
источник