अधिकृत_की में "कमांड" के साथ वायरशर्क में tcpdump को पाइप करने के लिए SSH का उपयोग करें


0

हम अनुप्रयोग परीक्षण के लिए वास्तविक समय नेटवर्क अनुरेखण को सक्षम करना चाहते हैं।

हम रिमोट होस्ट पर थोड़ी अनुमति / अधिकार देना चाहते हैं जो tcpdump चलाएगा।

इसलिए मैंने एक अधिकृत कुंजी को सेटअप करने की कोशिश की जो लॉगिन के लिए उपयोग की जाती है।

command="sudo tcpdump -n -i eth0 -s 65535 -w -" ssh-rsa AAAAB3NzaC....

जब मैं क्लाइंट मशीन से जुड़ता हूं और उपयोग करता हूं

ssh -i private.key user@10.10.254.200 | wireshark -S -k -i -

Wireshark शिकायत करते हैं और कहते हैं "अप्रतिबंधित पीक प्रारूप"

जब हम बजाय दौड़ते हैं

 ssh -i private.key user@10.10.254.200 "tcpdump -i eth0 -w -" | wireshark -S -k -i -

और अधिकृत कुंजी से कमांड = "..." हटा दें!

इन दो वेरिएंट में क्या अंतर है? अगर मैं "। वेयरशार्क ..." को हटाता हूं, तो दोनों ही मामलों में मुझे टर्मिनल में बाइनरी डेटा दिखाई दे रहा है ...

मामले में एक अंतर है जो किसी भी मामले में यह असंभव बना देगा, क्या आप लोग एक ऐसा तरीका जानते हैं जहां कमांड किसी भी तरह सर्वर साइड से पूर्व-परिभाषित हो सकता है?

जैसा कि मैंने शुरुआत में समझाने की कोशिश की थी, जो ग्राहक मशीनें वायरशार्क चलाती हैं, उन्हें यथासंभव प्रतिबंधित किया जाएगा।

आपकी सहायताके लिए धन्यवाद!

जवाबों:


0

पहले मामले में यह छद्म टर्मिनल के साथ सामान्य ssh सत्र है।

यदि आप केवल डेटा चाहते हैं (टर्मिनल नियंत्रण वर्णों और उस तरह के सामान के बिना), तो आपको स्विच के sshसाथ प्रयास करना चाहिए -T

एक ही व्यवहार को प्राप्त करने के लिए दूसरा समाधान फ़ाइल no-ptyमें कमांड के बगल में रखा गया authorized_keysहै (धन्यवाद @mykel):

command="sudo tcpdump -n -i eth0 -s 65535 -w -",no-pty ssh-rsa AAAAB3NzaC....

@aslmx आपका स्वागत है। एक उत्तर के रूप में चिह्नित करने से मदद मिलेगी
जकूज़ी

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