Telnet oturumu ile dosya indirme ve yükleme


16

Çalışan bir katılım cihazım var Linux OS. Bu cihazı telnet oturumu ile bağlayabilirim. Cihazda indirmek ve yeni dosyalarla yüklemek istediğim bazı dosyalar var. Bunu nasıl yapabilirim? Linux işletim sistemi hakkında çok az bilgim var. Lütfen yardım eder misiniz?

resim açıklamasını buraya girin


Kaç dosya aktarmak istiyorsunuz? Eğer bir yerde çıkışını yapıştırmak Can busybox --helpve ls -l /binve ls -l /usr/binlütfen.
jofel

aslında bu katılım cihazının masaüstü arka planını değiştirmek istiyorum ve şirket logomuzu cihaza yüklemek istiyorum. Bu seçenekler cihaz menüsünde mevcut değildir (Bu seçeneği satıcıya zaten sormuştum). Bu yüzden telnet oturumu ile bağladım ve desktop.jpg ve diğer görüntü dosyalarını cihazda buldum. Şimdi bu dosyayı Yerel sistemime almak istiyorum. ve aynısını doğruladıktan sonra istenen görüntülerimi cihaza yükleyeceğim. Bu yüzden cihaz görüntüsünü istenen görüntülerime göre güncelleyecek. / Mnt / mtdblock / image adresinde bulunan en az masaüstü görüntüsünü değiştirmek istiyorum
PRdeep Kumawat 5:14

Bir dahaki sefere bilgi eklemek istiyorsanız, lütfen yorum eklemek yerine sorunuzu düzenleyin .
jofel

Yanıtlar:


13

Bu, istemci aygıtında hangi araçların yüklü olduğuna / çekirdek tarafından desteklendiğine bağlıdır.

Dosya aktarımı için olası yöntemler (sırasız):

  • ssh / sftp
  • base64 / uuencode ile ikili dosyaları görüntülenebilir formata kodlayın ve ardından telnet terminal pencerenize / telnet terminal pencerenize kopyalayın.
  • ile basit tcp bağlantısı üzerinden netcatveya socatbirlikte veya bash/ dev / tcp ve
  • bir web sunucusuyla wgetveya curlweb sunucusundan yükleme / indirme
  • komut satırına sahip ftp sunucusu ftp istemcisi
  • samba veya nfs dağı

Oku Basit dosya transferi ve nasıl sahip tüm seri konsol olan bir ana bilgisayara dosya alınır? daha fazla olasılık için.


desktop.jpgNetcat / nc yöntemiyle cihazdan bilgisayarınıza kopyalayın :

Bilgisayarınızda, herhangi bir güvenlik duvarını geçici olarak devre dışı bırakın (veya mümkünse yeniden yapılandırın) ve çalıştırın

netcat -l -p 10000 > desktop.jpg

ve cihazda

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

Burada ABCD'yi bilgisayarınızın IP adresiyle değiştirmeniz gerekir. Aktarım başarılı olur olmaz, bilgisayarınızdaki netcat işlemi otomatik olarak durmalıdır. Değilse, bir şeyler yanlış ve bunu durdurabilirsinizCtrl+C

Diğer yöne doğru, sadece değiştirin <ve >her iki tarafta. İlk önce orijinalin desktop.jpg( cp desktop.jpg desktop_orig.jpg) bir yedeğini alın .


WinSCP yardımcı programını denedim ve cihazı ftp / sftp / scp protokolünü kullanarak bağlamaya çalıştım. ancak bağlantı kurulamıyor. Cihazı telnet komutu ile bağlayabiliyorum ve almak ve tekrar cihaza yüklemek istediğim dosyaları görebiliyorum.
PRdeep Kumawat

Muhtemelen cihazınızda çalışan bir ssh veya ftp sunucusu yoktur.
jofel

Bunu bilmiyorum .. Bu cihazdan dosya almanın / yüklemenin başka bir yolu var mı?
PRdeep Kumawat

szDosyaları terminal aracılığıyla göndermek için de kullanabilirsiniz . Her iki tarafta da ihtiyacınız olacak.
slm

@PRdeepKumawat Cevabı bir örnekle uzattım.
jofel

6

Cihazda ssh veya ftp (veya vb.) Yok.

Yani, şimdi yapacağım:

  1. telnet a.b.c.d | tee telnet.log
  2. giriş yapın ve dosyaya gidin
  3. cat file.txt
  4. oturumu kapat (tmux bölmesini kapatıyorum)
  5. telnet.logçöp kutusundan temizlemek

Telnet üzerinden dosya indirmek / yüklemek için yardımcı program yazmak kolay olmalıdır


1

rcpKomut ile deneyin .

Aktarımları man rcpotomatikleştirmek istemeniz durumunda daha fazla bilgi için kullanın .

Bu arada, bunun çok güvensiz olduğunu biliyorsun , değil mi?


1

Seri port üzerinden BusyBox tabanlı bir Linux gömülü sisteme ~ 7 Kb bellenim dosyası yükledim.

Ağ yok, dosya aktarım yardımcı programı yok; hiçbir Base64 aracı veya cihazda uzaktan kullanışlı bir şey yok.

Ana bilgisayarda, önemsiz bir şekilde bir firmware'i aşağıdaki formata kodladım; printfkomutlarla birleştirilmiş kabuk değişmezlerinden oluşan bir tür altıgen dökümü :

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

temel olarak printfkomutları yorumlayan \xkaçış dizileriyle printfkabuklandırır. Cihazda yaptım:

device $ cat > firmware.sh

daha sonra bu dosyayı anasisteme göndermek için minicom's ASCII dosya send ( Ctrl-AS) yöntemini kullandı . Veri miktarı az olduğundan kopyala ve yapıştır yöntemini kullanabilirdim.

Ardından, yürütülebilir olarak işaretlendi ve printfkomut dosyasını çalıştırdı :

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

BusyBox en kullanılarak kontrol md5sumo firmware.bincihazda sağlama ana bilgisayarda orjinal firmware görüntüsünü eşleşir.

PS Kabuk çift tırnak sözdizimi \xkelimesi kelimesine geçer, çünkü tanınan bir kaçış dizisi değildir; dolayısıyla ters eğik çizgileri ikiye katlamak zorunda değiliz.


0

@jofel ve diğerleri, Nazik yardımlarınız için çok teşekkür ederim. Cihazın sadece bazı linux komutlarını tanıdığı için özelleştirilmiş bir işletim sistemi yüklü olduğunu düşünüyorum. netcat cihaz tarafından tanınmıyor. Ancak bugün tftp komutunu kullanarak dosyayı aktarmayı başardım. Desktop.jpg dosyasını başarıyla bu komutla değiştirdim. Yaptığım, pencere sisteminde tftp sunucusu oluşturdu. cihazda telnet üzerinden giriş yapın ve şu komutları çalıştırın:

indir tftp -l -p tftp -l desktop.jpg - 192.168.0.249 69

dosya yükle tftp -l desktop.jpg -g 192.168.0.249 69


0

Bunu şu yöntemlerle yaptım:

Pencere sisteminde ftp sunucusu (solerwinds kurarak) oluşturun. cihazda telnet üzerinden giriş yapın ve şu komutları çalıştırın:

Bir dosyayı indirmek için:

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

Misal:

tftp -l desktop.jpg -p 192.168.0.249 69

veya dosya yüklemek için:

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

Misal:

tftp -l desktop.jpg -g 192.168.0.249 69

tftp dosyasının varsayılan konumu: C:\TFTP-Root


-1

Küçük ikili dosyaları telnet üzerinden windows kutuma indirmek için aşağıdaki yöntemi kullanıyorum:

  1. hexdump yürütmek -v -e '16 / 1 "% 02x" 'dosyam.bin
  2. onaltılık dökümü ekrandan kopyala
  3. ikili dosya oluşturmak için onaltılık dökümünü bu çevrimiçi araca yapıştırın: http://tomeko.net/online_tools/hex_to_file.php?lang=tr

# 3'teki bağlantınızdan emin değilsiniz!

3
@Goro Bu durumda bağlantı, alıntılanabilecek bir açıklama değil, cevap için gerekli olan çevrimiçi bir araçtır. Bu görev için yerel bir programa sahip olmak daha iyi olur.
RalfFriedl

Teşekkürler @RalfFriedl. Cevabımı açıklığa kavuşturmak için düzenledim.
Igor Zelaya
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.