Завантаження та завантаження файлів через сеанс telnet


16

У мене працює пристрій відвідування Linux OS. Я можу підключити цей пристрій через сеанс telnet. На пристрої є деякі файли, які я хотів би завантажити та завантажити з новими файлами. Як я можу це зробити? У мене дуже низькі знання в ОС Linux. Будь ласка, допоможіть!

введіть тут опис зображення


Скільки файлів ви хочете передати? Ви можете вставити вихід де - то в busybox --helpі ls -l /binй ls -l /usr/bin, будь ласка.
jofel

насправді я хочу змінити фон робочого столу цього пристрою відвідування, і хочу завантажити логотип нашої компанії туди на пристрій. Такі параметри недоступні в меню пристроїв (я вже просив цю опцію у постачальника). Тому я підключив його через сеанс telnet і знайшов на пристрої desktop.jpg та інші файли зображень. Тепер я хочу перенести ці файли у свою локальну систему. і після підтвердження того ж я завантажу бажані зображення в пристрій. Тож оновиться зображення пристрою відповідно до моїх бажаних зображень. Я хочу змінити принаймні зображення на робочому столі, яке доступне в пристрої за адресою / mnt / mtdblock / image
PRdeep Kumawat

Якщо ви хочете додати інформацію наступного разу, відредагуйте своє питання, а не коментарі.
jofel

Відповіді:


13

Це залежить від того, які інструменти встановлені на клієнтському пристрої / підтримуються ядром.

Можливі способи передачі файлів (не упорядковані):

  • ssh / sftp
  • кодування двійкових файлів у форматі, що відображається, з базовим кодом / uuencode, а потім скопіюйте з / у вікно вашого терміналу telnet.
  • через просте з'єднання tcp з netcatабо socatабо з bashта / dev / tcp
  • завантажувати / завантажувати з веб-сервера wgetабо curlз нього
  • ftp-сервер із командним рядком ftp-клієнт
  • samba або nfs mount

Прочитайте Просту передачу файлів та Як отримати файл на хост, коли у вас є лише послідовна консоль? для більше можливостей.


Скопіюйте desktop.jpgз пристрою на ваш ПК методом netcat / nc:

На ПК відключіть тимчасово (або переконфігуруйте, якщо можливо) будь-який брандмауер та запустіть

netcat -l -p 10000 > desktop.jpg

і на пристрої

busybox nc A.B.C.D -p 10000 < desktop.jpg

де вам потрібно замінити ABCD на IP-адресу вашого ПК. Як тільки передача була успішною, процес netcat на вашому ПК повинен автоматично зупинитися. Якщо ні, то щось не так, і ви можете це зупинитиCtrl+C

Для іншого напрямку просто обміняйтесь <і >з обох сторін. Спершу зробіть резервну копію оригіналу desktop.jpg( cp desktop.jpg desktop_orig.jpg).


Я спробував утиліту WinSCP і спробував підключити пристрій за допомогою протоколу ftp / sftp / scp. але це не підключається. Я можу підключити пристрій за допомогою команди telnet і зможу побачити файли, які я хочу отримати та завантажити знову в пристрій.
PRdeep Kumawat

Можливо, на вашому пристрої не працює сервер ssh або ftp.
jofel

Ну, я цього не знаю. Чи є інший спосіб отримати / завантажити файли з цього пристрою?
PRdeep Kumawat

Ви також можете використовувати szфайли через термінал. Вам знадобиться з обох сторін.
slm

@PRdeepKumawat Я відповів своїм прикладом.
jofel

6

У мене на пристрої немає ssh або ftp (або тощо).

Отже, я роблю далі:

  1. telnet a.b.c.d | tee telnet.log
  2. увійдіть та перейдіть до файлу
  3. cat file.txt
  4. закрити сеанс (я закриваю tmux панель)
  5. очистити telnet.logвід сміття

Щоб завантажити / завантажити файл через telnet, утиліта повинна бути простою


1

Спробуйте з rcpкомандою.

Використовуйте man rcpдля отримання додаткової інформації у випадку, якщо ви хочете автоматизувати передачі.

До речі, ви знаєте, це дуже небезпечно , правда?


1

Я щойно завантажив файл прошивки ~ 7 Кб у вбудовану систему BusyBox Linux через послідовний порт.

Без мережевих зв’язків, без утиліт передачі файлів; ніяких утиліт Base64 або нічого корисного на пристрої.

На хості я тривіально кодував прошивку у наступний формат; різновид шістнадцяткового дампа, що складається з літералів оболонки в поєднанні з printfкомандами:

printf "\xDE\xAD\xBE\xEF\x...\xF0"
printf "\xCA\xFE\x33\xE1\x...\xD3"

в основному printfкоманди оболонки з \xпослідовностями escape, що printfінтерпретує. На пристрої я зробив:

device $ cat > firmware.sh

потім використовував minicomфайл ASCII send ( Ctrl-AS), щоб надіслати цей файл хосту. Я міг просто скопіювати та вставити, оскільки кількість даних невелика.

Потім позначив виконуваний файл і запустив printfсценарій:

device $ chmod a+x firmware.sh
device $ ./firmware.sh > firmware.bin

Перевірено за допомогою BusyBox, md5sumчи firmware.binконтрольна сума на пристрої відповідає оригінальному зображенню мікропрограмного забезпечення на хості.

PS Синтаксис подвійної цитати оболонки проходить через \xдослівно, оскільки це не розпізнана послідовність втечі; отже, нам не доведеться подвоювати зворотні риски.


0

@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


0

Я це зробив зараз такими методами:

Створіть ftp-сервер (встановивши solerwinds) у віконній системі. увійдіть через telnet на пристрої та виконайте ці команди:

Щоб завантажити файл:

tftp -l <FileName> -p <TFTP Server IP> <Port No of TFTP>

Приклад:

tftp -l desktop.jpg -p 192.168.0.249 69

або завантажити файл:

tftp -l <FileName> -g <TFTP Server IP> <Port No of TFTP>

Приклад:

tftp -l desktop.jpg -g 192.168.0.249 69

Типовим місцем розташування файлу tftp є C:\TFTP-Root


-1

Я використовую наступний метод для завантаження невеликих бінарних файлів через telnet у вікно вікна:

  1. виконати hexdump -v -e '16 / 1 "% 02x" 'myfile.bin
  2. скопіювати шістнадцятковий дамп із екрана
  3. вставте шістнадцятковий дамп у цей Інтернет-інструмент для створення бінарного файлу: http://tomeko.net/online_tools/hex_to_file.php?lang=en

Не впевнений у своєму посиланні у №3!

3
@Goro Посилання в цьому випадку не є поясненням, яке можна процитувати, це інтернет-інструмент, який є важливим для відповіді. Для цього було б краще мати місцеву програму.
RalfFriedl

Дякую @RalfFriedl Я відредагував свою відповідь для уточнення.
Ігор Зелая
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.