टेलनेट Ctrl-C भेजते हैं


14

मैं एक टर्मिनल सर्वर से कनेक्ट करने के लिए टेलनेट का उपयोग करता हूं, जो ट्रैफ़िक को RS-232 पोर्ट से जोड़ता है।

दुर्भाग्य से, कुछ उपकरणों का उपयोग करते समय CTRL+ Cवर्ण (0x03) को भेजना संभव नहीं है । चरित्र को प्रेषित करने के बजाय, ऐसा लगता है जैसे स्थानीय ग्राहक ने कीस्ट्रोक को पकड़ लिया है, और मुझे "कुछ-अन्य-मोड" में छोड़ दिया गया है। जो मैं चाहता था वह सिर्फ एक किरदार भेजना था।

इसे डिबग करने के लिए मैं इसके साथ खेल रहा हूं:

^] toggle termdata

तथा

^] toggle options

यहाँ तब होता है जब मैं टर्मिनल सर्वर पर CTRL+ Cको दबाता हूँ जो काम नहीं करता है:

telnet 10.10.129.101 2012
Trying 10.10.129.101...
Connected to termserv-val3 (10.10.129.101).
Escape character is '^]'.
^]
telnet> toggle options
Will show option processing.
^]
telnet> toggle termdata
Will print hexadecimal representation of terminal traffic.
SENT IAC IP
SENT DO TIMING MARK

यहाँ टर्मिनल सर्वर पर होता है जो काम करते हैं:

telnet termserv-val2 2012
Trying 10.10.128.93...
Connected to termserv-val2 (10.10.128.93).
Escape character is '^]'.

telnet> toggle options
Will show option processing.

telnet> toggle termdata
Will print hexadecimal representation of terminal traffic.
< 0x0   03
^C

मैंने कोशिश की है toggle localcharsलेकिन इससे कोई फर्क नहीं पड़ा।

मैंने भी कोशिश की है mode characterजिसने मुझे CTRL+ Cचरित्र भेजने की अनुमति दी है , लेकिन यहां मुझे डिवाइस से कोई आउटपुट वापस नहीं मिला।

मैं इसे हल करने के लिए अपने टेलनेट क्लाइंट को कैसे कॉन्फ़िगर कर सकता हूं?


2
यह कौन सा टर्मिनल सर्वर है?
माइकल हैम्पटन

जवाबों:


5

क्या आपने अपने टेलनेट क्लाइंट में लोकलचर्स को बंद करने की कोशिश की है?

bash$ telnet
telnet> toggle localchars
Won't recognize certain control characters.
telnet> open myhost

आप ~/.telnetrcटेलनेट के अपने संस्करण के आधार पर इस कमांड को फ़ाइल में रख सकते हैं ।


मैंने कोशिश की है कि (प्रश्न का अंतिम भाग पढ़ें)
एलन 12

3

आप 8-बिट क्लीन मोड आज़मा सकते हैं ... यह टेलनेट को डेटा की अधिक व्याख्या करने से रोकता है

telnet -8 host port

(यह अंधेरे में एक शॉट है)

अधिकांश भाग के लिए, आप सही ट्रैक पर हैं, पूर्व-व्याख्या कीस्ट्रोक्स को रोकने के लिए टेलनेट प्राप्त करने की कोशिश कर रहे हैं ... जैसे कि CTRL-C और CTRL-Z और अन्य। 8bit मोड में मदद करनी चाहिए।


1
मैंने यह कोशिश की है, यह काम नहीं किया। मैंने कभी भी एक और समाधान कैसे पाया: टर्मिनल सर्वर को "टीसीपी सर्वर मोड" (डिफ़ॉल्ट सेटिंग्स, जिसके साथ मुझे समस्या है) के रूप में कार्य करने के लिए कॉन्फ़िगर किया जा सकता है, लेकिन अगर इसे "रियल COM मोड" में बदल दिया जाए तो चीजें काम कर रही हैं। मुझे इस बात का कोई अंदाजा नहीं है कि वास्तव में क्या अंतर हैं ...
एलन

समाधान खोजने के लिए बधाई। हमेशा एक समस्या को ठीक करने के लिए अच्छा है।
लोर्निक्स

वर्ष ... मैं इस समाधान से बहुत खुश नहीं हूं, मैं इसे अपने टेलनेट क्लाइंट कॉन्फ़िगरेशन में परिवर्तन करके हल कर सकता हूं
एलन

1
@ सभी कृपया अपनी टिप्पणी को उत्तर के रूप में प्रस्तुत करें, इसे अंकन के लिए सही उत्तर के रूप में चिह्नित करें, धन्यवाद।
उपलब्ध नहीं है

3

यह मदद कर सकता है, हालांकि यह इसके बजाय 3 अन्य उपकरणों का उपयोग करता है telnet:

echo 03 | xxd -r -p | nc host port


1

^Cएक ब्रेक चरित्र है। आप इसे टेलनेट एस्केप (डिफ़ॉल्ट है ^]) और फिर भेज सकते हैं send brk


3
टेलनेट के BRKअनुक्रम में प्राप्त अंत पर कार्यान्वयन-विशिष्ट महत्व है और यह ETX( ^C) वर्ण भेजने के समान नहीं है । यूनिक्स सिस्टम पर, इसका मतलब आमतौर TCSBRK ioctlपर टीटीवाई जो भी telnetdउपयोग कर रहा है , उस पर करना है। धारावाहिक उपकरणों पर, जो अक्सर ट्रांसफ़ॉर्म लाइन को एक चौथाई से आधे सेकंड तक कम रखने का अनुवाद करता है।
ब्लरफुल

यकीन नहीं है कि यह कुछ भी बदलता है, लेकिन quitउपलब्ध टेलनेट में भी कमांड है।
वास्यानोविकोव

0

मैंने अपनी साइट पर स्थिति को सत्यापित करने के लिए 'टॉगल विकल्प' और 'टॉगल टर्मडेटा' का उपयोग किया था जो मूल पोस्टर से मेल खाता है। मैं ^ सी (नियंत्रण-सी) चरित्र को विशेष रूप से टेलनेट कमांड 'सेंड आईपी' के साथ दस्तावेज में वर्णित के रूप में भेजने में सक्षम था। मेरे मामले में मैंने अपने ~ / .netnetrc में सभी 3 कमांड डाल दिए


0

उपयोग

nc host port

यदि आप चाहते हैं तो बस एक सर्वर-पोर्ट से कनेक्ट करें और साथ में बाधित करें Ctrl C जब आवश्यक तब । आप पैकेज के ncसाथ स्थापित कर सकते हैं netcat

PS का विचार @ bambam-s उत्तर से लिया गया है, लेकिन मुझे नहीं पता कि xxdकमांड का क्या अर्थ है जिसका उपयोग किया गया था, और यह मेरे उपयोग के मामले के बिना ठीक काम करता है।

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