टेलनेट सत्र के माध्यम से फ़ाइलों को डाउनलोड करना और अपलोड करना


16

मेरे पास एक उपस्थिति उपकरण है Linux OS। मैं इस डिवाइस को टेलनेट सेशन के जरिए कनेक्ट कर सकता हूं। डिवाइस में कुछ फाइलें हैं जिन्हें मैं नई फाइलों के साथ डाउनलोड और अपलोड करना चाहूंगा। मैं उसे कैसे कर सकता हूँ? मुझे लिनक्स ओएस पर बहुत कम ज्ञान है। क्या आप मदद करेंगे!

यहाँ छवि विवरण दर्ज करें


आप कितनी फाइलें ट्रांसफर करना चाहते हैं? आप में से कहीं उत्पादन पेस्ट कर सकते हैं busybox --helpऔर ls -l /binऔर ls -l /usr/bin, कृपया।
जोफेल

वास्तव में मैं इस उपस्थिति उपकरण की डेस्कटॉप पृष्ठभूमि को बदलना चाहता हूं, और हमारी कंपनी के लोगो को डिवाइस में अपलोड करना चाहता हूं। उपकरण मेनू में ऐसे विकल्प उपलब्ध नहीं हैं (मैंने पहले ही विक्रेता से यह विकल्प मांगा था)। इसलिए मैंने इसे टेलनेट सत्र के माध्यम से जोड़ा और डिवाइस में Desktop.jpg और अन्य छवि फ़ाइलों को पाया। अब मैं इन फाइल को अपने स्थानीय सिस्टम पर प्राप्त करना चाहता हूं। और उसी के सत्यापन के बाद मैं अपनी वांछित छवियों को डिवाइस में अपलोड करूंगा। तो यह मेरी वांछनीय छवियों के अनुसार डिवाइस छवि को अपडेट करेगा। मैं कम से कम डेस्कटॉप छवि बदलना चाहता हूं जो कि डिवाइस में / mnt / mtdblock / image पर उपलब्ध है
PRdeep Kumawat

यदि आप अगली बार जानकारी जोड़ना चाहते हैं, तो कृपया टिप्पणी जोड़ने के बजाय अपने प्रश्न को संपादित करें।
जोफेल

जवाबों:


13

यह निर्भर करता है कि कौन से उपकरण क्लाइंट डिवाइस पर स्थापित हैं / कर्नेल द्वारा समर्थित हैं।

फ़ाइल स्थानांतरण के लिए संभावित तरीके (अनियंत्रित):

  • ssh / sftp
  • Base64 / uuencode के साथ प्रदर्शित करने योग्य प्रारूप में बाइनरी फ़ाइलों को एन्कोडिंग और फिर आपके टेलनेट टर्मिनल विंडो से / में कॉपी करें।
  • के साथ एक सरल टीसीपी कनेक्शन पर netcatया socatया के साथ bash/ dev / टीसीपी और
  • वेब सर्वर के साथ wgetया उससे अपलोड / डाउनलोड curlकरें
  • एक कमांड लाइन ftp क्लाइंट के साथ ftp सर्वर
  • samba या nfs माउंट

सरल फ़ाइल स्थानांतरण पढ़ें और एक होस्ट कंसोल में फ़ाइल कैसे प्राप्त करें जब आपके पास एक सीरियल कंसोल है? अधिक possibilites के लिए।


desktop.jpgडिवाइस से अपने पीसी पर netcat / nc विधि से कॉपी करें :

अपने पीसी पर, अस्थायी रूप से अक्षम करें (या यदि संभव हो तो पुन: कॉन्फ़िगर करें) किसी भी फ़ायरवॉल और चलाएं

netcat -l -p 10000 > desktop.jpg

और डिवाइस पर

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

जहां आपको अपने पीसी के आईपी पते के साथ एबीसीडी को बदलने की आवश्यकता है। जैसे ही स्थानांतरण सफल हुआ, आपके पीसी पर नेटकाट प्रक्रिया अपने आप बंद हो जानी चाहिए। यदि नहीं, तो कुछ गलत है और आप इसे रोक सकते हैंCtrl+C

अन्य दिशा के लिए, बस विनिमय <और >दोनों तरफ। पहले मूल desktop.jpg( cp desktop.jpg desktop_orig.jpg) का बैकअप बनाएं ।


मैंने WinSCP उपयोगिता की कोशिश की और ftp / sftp / scp प्रोटोकॉल का उपयोग करके डिवाइस को कनेक्ट करने का प्रयास किया। लेकिन यह कनेक्ट नहीं हो रहा है। मैं टेलनेट कमांड के माध्यम से डिवाइस को कनेक्ट करने में सक्षम हूं और उन फ़ाइलों को देखने में सक्षम हूं जिन्हें मैं फिर से डिवाइस में प्राप्त करना और अपलोड करना चाहता हूं।
प्रदीप कुमावत

संभवतः आपके डिवाइस में ssh या ftp सर्वर नहीं चल रहा है।
जोफेल

वैसे मुझे नहीं पता कि .. क्या उस डिवाइस से फाइल अपलोड / अपलोड करने का कोई और तरीका है?
प्रदीप कुमावत 12

आप szटर्मिनल के माध्यम से फाइल भेजने के लिए भी उपयोग कर सकते हैं । आपको इसकी आवश्यकता दोनों तरफ होगी।
SLM

@PRdeepKumawat मैंने एक उदाहरण के साथ उत्तर दिया।
जोफेल

6

मेरे पास डिवाइस पर कोई ssh या ftp (या आदि) नहीं है।

तो, मैं आगे करता हूं:

  1. telnet a.b.c.d | tee telnet.log
  2. लॉगिन करें और फाइल पर जाएं
  3. cat file.txt
  4. क्लोज सेशन (I नज़दीकी tmux pane)
  5. telnet.logकचरा से साफ

टेलनेट पर फ़ाइल डाउनलोड / अपलोड करने के लिए उपयोगिता लिखना आसान होना चाहिए


1

rcpकमांड के साथ प्रयास करें ।

man rcpयदि आप स्थानान्तरण को स्वचालित करना चाहते हैं तो अधिक जानकारी के लिए उपयोग करें ।

वैसे, आपको पता है कि यह बहुत असुरक्षित है , है ना?


1

मैं सिर्फ सीरियल पोर्ट पर एक व्यस्त बॉक्स आधारित लिनक्स एम्बेडेड सिस्टम के लिए एक ~ 7 Kb फर्मवेयर फ़ाइल अपलोड की है।

कोई नेटवर्किंग, कोई फ़ाइल स्थानांतरण उपयोगिताओं; डिवाइस पर दूरस्थ रूप से कोई बेस 64 बर्तन या कुछ भी उपयोगी नहीं है।

मेजबान पर, मैंने तुच्छ रूप से निम्नलिखित प्रारूप में एक फर्मवेयर को एन्कोड किया; एक प्रकार की हेक्स-डंप जिसमें शेल printfकमांड शामिल हैं, जो कमांड के साथ संयुक्त है :

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

मूल रूप से शेल क्रम printfसे \xबचता है जो printfव्याख्या करता है। डिवाइस पर मैंने किया:

device $ cat > firmware.sh

फिर इस फ़ाइल को होस्ट में भेजने के लिए minicomASCII फ़ाइल भेजने ( Ctrl-AS) का उपयोग किया। मैं केवल कॉपी और पेस्ट का उपयोग कर सकता था, क्योंकि डेटा की मात्रा छोटी है।

फिर, निष्पादन योग्य चिह्नित और printfस्क्रिप्ट चला गया :

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

व्यस्तबॉक्स का उपयोग करके जांचा जाता है md5sumकि firmware.binडिवाइस पर चेकसम होस्ट पर मूल फर्मवेयर छवि से मेल खाता है।

पुनश्च शेल दोहरा उद्धरण वाक्यविन्यास \xशब्दशः से होकर गुजरता है क्योंकि यह एक मान्यता प्राप्त अनुक्रम नहीं है; इसलिए हमें बैकस्लैश को दोगुना करने की आवश्यकता नहीं है।


0

@ जोफेल और अन्य सभी, आपकी मदद के लिए बहुत बहुत धन्यवाद। मुझे लगता है कि डिवाइस में एक स्वनिर्धारित ओएस स्थापित है क्योंकि यह केवल कुछ विशिष्ट लिनक्स कमांड को मान्यता देता है। netcat डिवाइस द्वारा मान्यता प्राप्त नहीं है। हालाँकि आज मुझे tftp कमांड का उपयोग करके फाइल ट्रांसफर करने में सफलता मिली। मैंने सफलतापूर्वक इस आदेश के साथ Desktop.jpg फ़ाइल को बदल दिया है। मैंने क्या किया, विंडो सिस्टम पर tftp सर्वर बनाया। डिवाइस पर टेलनेट के माध्यम से लॉगिन करें और इन कमांड को चलाएं:

डाउनलोड फ़ाइल tftp -l -p tftp -l desktop.jpg - 192.168.0.249 69

अपलोड फ़ाइल tftp -l desktop.jpg -g 192.168.0.249 69


0

मैंने अब इन तरीकों से किया है:

विंडो सिस्टम पर ftp सर्वर (सोलरविंड्स को इंस्टॉल करके) बनाएं। डिवाइस पर टेलनेट के माध्यम से लॉगिन करें और इन कमांड को चलाएं:

फ़ाइल डाउनलोड करने के लिए:

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

मैं अपने विंडो बॉक्स में टेलनेट के माध्यम से छोटी बाइनरी फ़ाइलों को डाउनलोड करने के लिए निम्न विधि का उपयोग करता हूं:

  1. निष्पादित हेक्सडंप -v -e '16 / 1 "% 02x" 'myfile.bin
  2. स्क्रीन से कॉपी हेक्स डंप
  3. इस ऑनलाइन उपकरण में हेक्स डंप पेस्ट बाइनरी फ़ाइल बनाने के लिए: http://tomeko.net/online_tools/hex_to_file.php?lang=en

# 3 में अपने लिंक के बारे में निश्चित नहीं है!

3
@ गोरो इस मामले में लिंक एक स्पष्टीकरण नहीं है जिसे उद्धृत किया जा सकता है, यह एक ऑनलाइन उपकरण है जो उत्तर के लिए आवश्यक है। उस कार्य के लिए स्थानीय कार्यक्रम करना बेहतर होगा।
राल्फफ्राइडल

धन्यवाद @RalfFriedl मैंने स्पष्टीकरण के लिए अपना जवाब संपादित किया।
इगोर ज़ेलया
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.