Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
psc — E2E एन्क्रिप्शन मल्टी-हॉप tty सत्रों या पोर्टशेल्स + TCP/UDP पोर्ट फॉरवर्ड के लिए | Kitploit
उपकरण/GitHubGitHub/stealth/psc
एन्क्रिप्शन/डिक्रिप्शन उपकरणफोरेंसिकनेटवर्क सुरक्षापेनिट्रेशन टेस्टिंगरेड टीमिंग
GitHubstealth/psc

psc

E2E एन्क्रिप्शन मल्टी-हॉप tty सत्रों या पोर्टशेल्स + TCP/UDP पोर्ट फॉरवर्ड के लिए

रिपॉजिटरी देखें
133251 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

PortShellCrypter -- PSC

यह प्रोजेक्ट - अपनी सहयोगी प्रोजेक्ट crash के साथ - मेरे एंटी-सेंसरशिप टूल-सेट का हिस्सा है, जो शत्रुतापूर्ण सेंसरिंग वातावरण में पूरी तरह से कार्यशील एन्क्रिप्टेड शेल और TCP/UDP फॉरवर्डिंग सेटअप करने की अनुमति देता है। यह फोरेंसिक्स के लिए भी उपयोगी है जब UART या adb के माध्यम से उपकरणों से डेटा डंप करना हो और कोई अन्य साधन उपलब्ध न हों।

asciicast DNS लुकअप और SSH सत्र एक Pi से UART कनेक्शन के माध्यम से फॉरवर्ड किया गया

PSC शेल सत्रों को e2e एन्क्रिप्ट करने की अनुमति देता है, सिंगल- या मल्टी-हॉप, अंतर्निहित ट्रांसपोर्ट से अज्ञेय, जब तक वह विश्वसनीय हो और Base64 एन्कोडेड डेटा को बिना मॉडिंग/फिल्टरिंग के भेज/प्राप्त कर सके। आपको प्राप्त होने वाले e2e pty के साथ (उदाहरण के लिए पोर्ट-शेल के अंदर), आप TCP और UDP कनेक्शन भी फॉरवर्ड कर सकते हैं, OpenSSH के -L पैरामीटर के समान। यह पारदर्शी रूप से काम करता है और प्रारंभिक बिंदु पर स्थानीय रूप से असाइन किए गए IP पते की आवश्यकता नहीं होती है। यह फोरेंसिक विशेषज्ञों और पेन-टेस्टरों को नेटवर्क कनेक्शन बनाने की अनुमति देता है, उदाहरण के लिए:

  • UART सत्र किसी उपकरण से
  • adb shell सत्र, यदि OEM adbd TCP फॉरवर्डिंग का समर्थन नहीं करता है
  • टेलनेट सत्र
  • मॉडम डायल-अप बिना ppp के
  • अन्य प्रकार के कंसोल लॉगिन
  • मिश्रित SSH/telnet/modem सत्र
  • ...

बस कल्पना करें कि आपके शेल सत्र के अंदर एक अदृश्य ppp सत्र हो, बिना रिमोट पीयर के वास्तव में ppp का समर्थन किए।

यह Linux, Android, OSX, Windows, FreeBSD, NetBSD और (संभवतः) OpenBSD पर चलता है।

PSC में SOCKS4 और SOCKS5 प्रॉक्सी समर्थन भी शामिल है ताकि पोर्ट-शेल या मॉडम डायल-अप के माध्यम से रिमोट रूप से वास्तविक वेब ब्राउज़िंग सत्र किए जा सकें।

Build

Makefile को संपादित करें ताकि आपकी पूर्व-साझा कुंजियाँ प्रतिबिंबित हों, जैसा कि Makefile के शीर्ष पर परिभाषित किया गया है।

फिर Linux और OSX पर बस make टाइप करें।

BSD पर आपको GNU make स्थापित करना होगा और उसके बजाय gmake का उपयोग करना होगा।

Windows पर आपको cygwin स्थापित करना होगा और उपयुक्त gcc, gcc-g++, make और git पैकेज चुनने होंगे।

Linux पर, PSC Unix98 स्यूडो टर्मिनलों का उपयोग करेगा, अन्य सिस्टम पर यह POSIX pty का उपयोग करेगा लेकिन यह आपके लिए पारदर्शी होना चाहिए। मैंने एक समय में 4.4BSD pty और SunOS समर्थन एक विशेष कारण से जोड़ा था, इसलिए यह Solaris के साथ भी बिल्ड हो सकता है या नहीं।

गर्व से प्रायोजित:

Usage

सीधा और सरल। अपने स्थानीय बॉक्स पर, pscl निष्पादित करें, और कोई भी TCP या UDP पोर्ट जिसे आप रिमोट साइट से एक विशेष पते पर फॉरवर्ड करना चाहते हैं, पास करें। उदाहरण के लिए:

root@kitploit:~
linux:~ > ./pscl -T 1234:[192.168.0.254]:22 -U 1234:[8.8.8.8]:53

PortShellCrypter [pscl] v0.60 (C) 2006-2020 stealth -- github.com/stealth/psc

pscl: set up local TCP port 1234 to proxy to 192.168.0.254:22 @ remote.
pscl: set up local UDP port 1234 to proxy to 8.8.8.8:53 @ remote.

pscl: Waiting for [pscr] session to appear ...
linux:~ >

[ UART / SSH / ... login to remote side ... ]

रिमोट साइट (अंतिम हॉप) पर शेल सत्र के साथ, चाहे वह पोर्ट-शेल, SSH, कंसोल लॉगिन आदि में हो, आप pscr निष्पादित करें:

root@kitploit:~
linux:~ > ./pscr

PortShellCrypter [pscr] v0.60 (C) 2006-2020 stealth -- github.com/stealth/psc


pscl: Seen STARTTLS sequence, enabling crypto.
linux:~ >

एक बार जब आप pscr निष्पादित करते हैं, तो दोनों छोर एक क्रिप्टो हैंडशेक स्थापित करते हैं और आपके मौजूदा सत्र पर एक अतिरिक्त प्रोटोकॉल बिछाते हैं जो आपके लिए पारदर्शी है। आप तब अपने स्थानीय बॉक्स पर 127.0.0.1:1234 से कनेक्ट कर सकते हैं ताकि TCP के माध्यम से 192.168.0.254:22 या UDP के माध्यम से 8.8.8.8 रिज़ॉल्वर तक पहुँच सकें। यह [IPv6] पतों के साथ भी काम करता है, यदि रिमोट साइट में IPv6 कनेक्टिविटी है। वास्तव में, आप इसका उपयोग IPv4 सॉफ़्टवेयर को IPv6 में अनुवाद करने के लिए भी कर सकते हैं, क्योंकि आप हमेशा स्थानीय पक्ष पर 127.0.0.1 से कनेक्ट करते हैं।

आप एकाधिक -T और -U पैरामीटर पास कर सकते हैं। यदि आप भूल जाते हैं कि आपका सत्र पहले से e2e एन्क्रिप्टेड है या नहीं, तो आप स्थानीय pscl प्रक्रिया को SIGUSR1 भेज सकते हैं, और यह आपको बताएगा।

PSC तब भी उपयोगी है यदि आप किसी रिमोट SSH शेल से tor का उपयोग करना चाहते हैं, जहाँ आप socks5 और DNS पोर्ट को रिमोट होस्ट के 127.0.0.1 पते पर फॉरवर्ड कर सकते हैं। चूंकि SSH UDP पैकेट को फॉरवर्ड नहीं करता है, आप सामान्यतः tor नोड के माध्यम से हल करने के लिए दो socat कनेक्टर या समान का उपयोग करेंगे। PSC का लाभ यह है कि यह UDP डेटाग्राम सीमाओं को बनाए रखता है, जबकि SSH -L पर socat डेटाग्राम सीमाओं को तोड़ सकता है और गलत DNS अनुरोध बना सकता है।

सत्र को Makefile में आपके द्वारा चुनी गई PSK के aes_256_ctr से एन्क्रिप्ट किया जाएगा। यह क्रिप्टो स्कीम परिवर्तनीय है, लेकिन AAD या OAD डेटा जोड़ने से पैकेट का आकार बढ़ जाता है, जहाँ हर बाइट मायने रखता है क्योंकि इंटरैक्टिव सत्रों पर और Base64 एन्कोडिंग के कारण, प्रत्येक टाइप किया गया अक्षर पहले से ही बहुत अधिक डेटा भेजने का कारण बनता है।

UART सत्रों का उपयोग screen के माध्यम से किया जा सकता है लेकिन उदाहरण के लिए minicom के माध्यम से नहीं क्योंकि minicom स्टेटस लाइनों के साथ अदृश्य विंडो बनाएगा और एक फिल्टर की तरह कार्य करेगा जो PSC के प्रोटोकॉल को नष्ट कर देता है। PSC फ़िल्टरिंग का पता लगाने की कोशिश करता है और डेटा मैंगलिंग की एक निश्चित मात्रा के साथ जी सकता है, लेकिन कुछ स्थितियों में इसे पुनर्प्राप्त करना संभव नहीं है। tmux के साथ भी ऐसा ही है। आपको PSC के साथ pty हैंडलर्स को ढेर करने से बचना चाहिए जो उनके आने वाले डेटा को बहुत अधिक खराब/संभालते हैं।

PSC के लिए pty पर निष्पादित करने के लिए शेल को जानने के लिए pscl और pscr दोनों के लिए SHELL पर्यावरण चर सेट होना आवश्यक है। SHELL अधिकांश वातावरणों में डिफ़ॉल्ट रूप से सेट होता है, लेकिन यदि नहीं है, तो PSC को इस प्रकार निष्पादित करने की आवश्यकता है: SHELL=/bin/bash pscl आदि।

SOCKS4 और SOCKS5 समर्थन

pscl SOCKS4 (-4 port) और SOCKS5 (-5 port) के माध्यम से TCP कनेक्शन के फ़ॉरवर्डिंग का भी समर्थन करता है। यह TCP कनेक्शन के लिए port को SOCKS पोर्ट के रूप में सेट करता है, ताकि उदाहरण के लिए आप पेन-टेस्ट के दौरान कोई अन्य कनेक्शन खोले बिना पोर्ट-शेल सत्र से रिमोट नेटवर्कों को ब्राउज़ कर सकें। यदि आप pscl को -N पास करते हैं, तो यह रिमोट साइड पर DNS नाम रिज़ॉल्यूशन सक्षम करता है, ताकि आप इसके साथ क्रोम का भी उपयोग कर सकें। लेकिन चेतावनी: ब्राउज़रों के साथ गोपनीयता की समस्या है जो स्टार्टअप पर DNS नामों के अनुक्रम को हल करने का प्रयास करते हैं जो आपके नियंत्रण में नहीं है। इसके अलावा, यदि आपकी रिमोट साइड की DNS सेटअप खराब है, तो आपका टाइपिंग शेल कई सेकंड के लिए ब्लॉक हो सकता है यदि DNS रिप्लाई पैकेट गायब हैं। कोई अच्छी एसिंक रिज़ॉल्वर फ़ंक्शन नहीं हैं जो एम्बेडेबल और पोर्टेबल हों, इसलिए मुझे एकल थ्रेड में getaddrinfo() पर निर्भर रहना पड़ा, इस कीमत पर कि DNS समस्याओं के मौजूद होने पर कई सेकंड के लिए ब्लॉकिंग संभव है। इसीलिए नाम रिज़ॉल्विंग को स्पष्ट रूप से सक्षम करना होता है। pscr DNS लुकअप कैश के साथ इस संभावित समस्या को कम करने का प्रयास करता है, इसलिए अधिकांश स्थितियों में इसे दर्द रहित रूप से काम करना चाहिए। यदि आप -X IP-address पास करते हैं (पहला तर्क होना चाहिए), तो आप अपने स्थानीय प्रॉक्सी को 127.0.0.1 से भिन्न पते पर बाइंड कर सकते हैं, ताकि आप अपने स्थानीय नेटवर्क में प्रॉक्सी साझा कर सकें।

बाउंस कमांड

psc सुविधाएँ TCP-कनेक्शन या बाइनरी डेटा ब्लॉब्स को कई हॉप्स के माध्यम से रिमोट उपकरणों से/में फॉरवर्ड करने की अनुमति देती हैं, भले ही रिमोट साइट पर pscr बाइनरी स्थापित करना संभव न हो। यह फोरेंसिक उद्देश्यों के लिए बहुत उपयोगी है यदि आपके पास अन्यथा उपकरण से कलाकृतियों को डाउनलोड करने का कोई साधन नहीं है (जो उदाहरण के लिए UART से जुड़ा फोन हो सकता है) या FS को छुए बिना कनेक्शन फॉरवर्ड करने की आवश्यकता है ताकि सिस्टम पर सबूत नष्ट न हों या जब रूट-FS ro माउंटेड हो और आप अपना टूल-सेट अपलोड नहीं कर सकते।

यह वास्तव में एक शानदार सुविधा है, क्योंकि आप अपने TCP कनेक्शन को अपने स्थानीय tty से रिमोट बॉक्स तक हॉप करते हुए देख सकते हैं बिना रिमोट पर कुछ भी स्थापित किए।

यह पूरी तरह से लोकल pty पंकरॉक और pscl को एक बाउंस-कमांड देने पर काम करता है जो इसे रिमोट शेल पर डाल देगा (बिना pscr चलाए) और कुछ स्टेट इंजन मैजिक जो डेटा को फ़िल्टर करता है और स्थानीय पक्ष पर संभालता है। आमतौर पर इसके लिए वास्तविक कमांड जारी करने से पहले रिमोट pty को रॉ मोड में सेट करने की आवश्यकता होती है और कुछ अन्य विवरण जो -B को पास किए जाते हैं। तर्क को निम्नलिखित भागों में विभाजित किया गया है:

  • कनेक्ट होने पर कमांड को ट्रिगर करने के लिए स्थानीय पोर्ट, उसके बाद :, उदा. 1234:.
  • वह cmd जो रिमोट tty को रॉ मोड में सेट करता है, आमतौर पर stty -echo raw या python -c "import tty;tty.setraw(0)" (कोट्स को सही करने का ध्यान रखें, क्योंकि -B को भी कोट किया जाना चाहिए) या कोई समान.
  • एक "GO" मार्कर जो रिमोट द्वारा जारी किया जाता है जो pscl को बताता है कि डेटा भेजना शुरू करें ताकि stty वास्तव में होने और cmd की शुरुआत के बीच रेस से बचा जा सके, उदा. echo GO एकदम सही है।
  • ट्रिगर कमांड स्वयं, उदा. nc 127.0.0.1 22 स्थानीय पोर्ट 1234 को रिमोट के SSH सर्वर पर बाउंस करने के लिए
  • वैकल्पिक रूप से रिमोट द्वारा जारी एक FIN मार्कर ताकि आप देख सकें कि ट्रिगर कमांड समाप्त हो गया है, यानी आप पोर्ट 1234 से अपने स्थानीय कनेक्शन को मार सकते हैं, जो pscl को अपनी tty स्थिति को रीसेट करने की अनुमति देता है। echo FIN यह करेगा। अनुशंसित, अन्यथा आपको अपने कमांड के अंत को पहचानने में परेशानी हो सकती है।
  • पिछले सभी चार कमांड द्वारा अलग किए गए हैं और कोष्ठक में संलग्न हैं।

उदाहरण:

यदि आप TCP कनेक्शन फॉरवर्ड करना चाहते हैं, तो इस उदाहरण के लिए डिवाइस पर stty और nc स्थापित होना आवश्यक है, लेकिन सैद्धांतिक रूप से यह कोई भी चीज़ हो सकती है जो समकक्ष करती हो।

एक स्थानीय सत्र प्रारंभ करें:

./pscl -B '1234:[stty -echo raw;echo GO;nc example.com 22;echo FIN]'

यदि आप स्थानीय रूप से पोर्ट 1234 से कनेक्ट करते हैं तो यह रिमोट डिवाइस को कमांड stty -echo raw;echo GO;nc example.com 22;echo FIN जारी करेगा और फिर कोई भी डेटा जो वह देखता है उसे आगे-पीछे फॉरवर्ड करेगा और ट्रैफ़िक को रेट-लिमिट करेगा ताकि यह डिवाइस की tty स्पीड (डिफ़ॉल्ट 115200) से अधिक न हो।

जब pscl सत्र शुरू होता है, तो UART, ssh -e none ... या जो भी हो, के माध्यम से रिमोट डिवाइस से कनेक्ट करें और एक बार जब आपके पास रिमोट शेल हो, तो स्थानीय रूप से भी टाइप करें:

ssh [email protected] -p 1234 अपने स्थानीय बॉक्स से रिमोट डिवाइस के माध्यम से example.com गंतव्य पर SSH कनेक्शन बाउंस करने के लिए। बेशक pscr वैरिएंट को प्राथमिकता दी जाती है क्योंकि -B एक समय में केवल एक ही कनेक्शन बाउंस कर सकता है (हालाँकि आप विभिन्न फ़ॉरवर्ड के लिए एकाधिक -B कमांड पास कर सकते हैं) और TCP सत्र के बाद शेल हैंग होने की संभावना है क्योंकि pty raw -echo मोड में है और इस पर निर्भर करता है कि अंतिम रिमोट पीयर भी कनेक्शन बंद करता है या नहीं, उसके बाद शेल हैंग हो सकता है। यदि आपको कोई pscl सूचना मिलती है कि कनेक्शन समाप्त हो गया है और आपको एक प्रॉम्प्ट दिखाई देता है, तो आपको इसे reset करना चाहिए, ताकि एक नया कनेक्शन शुरू किया जा सके। जब डेटा फ़ॉरवर्ड किया जा रहा है, तो आप pscl में 7bit ASCII < और > सूचनाएँ देखेंगे जो केवल आसान डिबगिंग और प्रगति का पता लगाने के लिए स्थानीय हैं।

ध्यान दें कि रिमोट साइट से कनेक्शन 8bit क्लीन होना चाहिए, अर्थात ssh, telnet, UART या जो भी चैनल एस्केप सीक्वेंस को हैंडल नहीं करना चाहिए (pscr का उपयोग करते समय के विपरीत)। ssh कनेक्शन के लिए इसका मतलब है कि आपको pscl सत्र में ssh -e none का उपयोग करना होगा।

इसके बाद, बाइनरी फ़ाइल xfer को संभालने के लिए कुछ उदाहरण जहाँ rfile रिमोट फ़ाइल को और lfile स्थानीय फ़ाइल को दर्शाता है।

रिमोट फ़ाइलों को ड्रॉप करने का सत्र शुरू करने के लिए, स्थानीय रूप से:

./pscl -B '1234:[stty -echo raw;echo GO;dd of=rfile.bin bs=1 count=7350;echo FIN]'

जहाँ आपको डेटा की मात्रा निर्दिष्ट करनी होगी जो रिमोट साइड अपेक्षा करता है। यह बिना भी काम करेगा (जैसे cat>...) लेकिन फिर ट्रांसमिशन समाप्त होने के बाद सत्र हैंग हो जाएगा क्योंकि cat अंतहीन रूप से इनपुट की प्रतीक्षा कर रहा है। dd count=... का उपयोग करके, आपको एक साफ़ निकास मिलेगा और FIN मार्कर द्वारा इसके बारे में सूचित किया जाएगा।

फिर, ssh या जो भी आवश्यक हो, अभी शुरू किए गए pscl सत्र के भीतर से रिमोट डिवाइस पर शेल प्राप्त करने के लिए। दूसरे टर्मिनल पर स्थानीय रूप से:

dd if=lfile.bin|nc 127.0.0.1 1234

जो pscl के स्थानीय पोर्ट 1234 से कनेक्ट होगा और रिमोट साइड पर डंप कमांड को ट्रिगर करेगा, स्थानीय lfile.bin के बाइनरी डेटा को रिमोट के rfile.bin पर फ़ॉरवर्ड करेगा। रेट-लिमिटिंग के कारण इसमें कुछ समय लग सकता है और आप केवल अपनी psc प्रगति स्क्रीन पर विश्वास करते हैं कि स्थानांतरण समाप्त हुआ या नहीं। स्थानीय dd ...|nc ... कमांड आपको केवल स्थानीय स्थिति दिखाएगा जो स्थानीय TCP बफ़र्स के कारण msecs में पूरी फ़ाइलें खा सकता है जबकि फ़ाइल अभी भी pty के माध्यम से स्थानांतरित हो रही है। इसलिए सुनिश्चित करें कि आप केवल Ctrl-C दबाएं जब pscl स्क्रीन आपको बताए कि यह समाप्त हो गया है या आप FIN अंत मार्कर को dd ...|nc ... सत्र पर प्रतिध्वनित होते हुए देखते हैं।

इसी प्रकार, फोरेंसिक उद्देश्यों के लिए रिमोट डिवाइस से स्थानीय बॉक्स में बाइनरी डेटा स्थानांतरित करने के लिए समान कमांड का उपयोग किया जा सकता है। फिर से, सत्र स्थानीय रूप से शुरू करें:

./pscl -B '1234:[stty -echo raw;echo GO;dd if=rfile.bin]' या

./pscl -B '1234:[stty -echo raw;echo GO;cat rfile.bin]'

फिर, रिमोट डिवाइस पर शेल प्राप्त करने के लिए ssh, फिर स्थानीय रूप से:

nc 127.0.0.1 1234|dd of=lfile.bin bs=1 count=7350

rfile.bin को आकार 7350 प्राप्त करने के लिए स्थानीय फ़ाइल lfile.bin में कॉपी किया गया।

यदि डिवाइस पर stty -echo raw उपलब्ध नहीं है, तो कुछ इस प्रकार python -c "import tty;tty.setraw(0)" भी काम करता है। ध्यान दें कि बाउंस कमांड का उपयोग करते समय रिमोट डिवाइस पर आपके पास एक tty होना चाहिए (न कि केवल एक पोर्ट-शेल), क्योंकि रॉ मोड सेट करने के लिए stty कमांड को वास्तविक tty की आवश्यकता होती है।

UART / मॉडम / फ्लो नियंत्रण

यदि psc एक सीरियल कनेक्शन पर चलता है, तो खोए हुए बिट्स आपका सारा मज़ा खत्म कर सकते हैं। यदि आप HW FC के बिना चलते हैं तो आप अंततः बिटलॉस और हैंग कनेक्शन का अनुभव करेंगे, विशेष रूप से क्योंकि बाउंस कमांड का उपयोग करते समय जब डिवाइस आपकी दिशा में डेटा भेज रहा है तो कोई थ्रॉटलिंग नहीं होती है। डिवाइस पर डेटा डंप करना बेहतर काम करता है क्योंकि यह डेटा pscl रेट सीमा से गुज़रता है।

हालाँकि, यहाँ कुछ सुझाव दिए गए हैं जो मेरे लिए उन परिस्थितियों में काम आए जब डिवाइस पर pscr और HW FC का उपयोग करना संभव नहीं है। यह केवल UART का उपयोग करते समय लागू होता है, क्योंकि यह एक संभावित अविश्वसनीय ट्रांसपोर्ट चैनल है।

  • सॉफ्ट FC सक्षम न करें, क्योंकि इससे 8-बिट चैनल खराब हो जाएगा
  • जब संभव हो HW FC का उपयोग करें - या यदि नहीं - तो आपको FC को पूरी तरह से अक्षम करना होगा
  • डिवाइस पर pscr का उपयोग करें ताकि आप अपनी दिशा में भेजे जा रहे डेटा के लिए रेट लिमिटिंग सेट कर सकें। चूंकि डिवाइस की ओर दिशा हमेशा रेट लिमिटेड होती है, आप बाउंस कमांड का उपयोग करके एक क्रॉस-कम्पाइल्ड pscr बाइनरी को डिवाइस पर डंप कर सकते हैं और इसके साथ दो-तरफा रेट लिमिटेड सत्र शुरू कर सकते हैं।
  • उचित परिरक्षण और बड़े बफ़र्स वाले UART चिपसेट वाले उच्च गुणवत्ता वाले केबल का उपयोग करें
  • contrib फ़ोल्डर से tio-limit पैच लागू करें, क्योंकि tio इनपुट बाइट्स को बफर करता है जो निर्धारित दर से अधिक लेखन-शिखर का कारण बन सकता है
  • भेजे गए आउटपुट-बाइट्स के बीच देरी जोड़ने के लिए tio -o 1 या -o 2 का उपयोग करें
  • एक रूढ़िवादी रेट लिमिटिंग का उपयोग करें (अर्थात 38400 पसंद करें भले ही सीरियल लाइन 115200 पर सेट हो)
  • psc को -DRESPECT_UART_BUFSIZE=4096 के साथ कम्पाइल करें, हालाँकि यह सत्र को बहुत धीमा कर देगा

contrib फ़ोल्डर के अंदर आपको एस्केप-कैरेक्टर प्रोसेसिंग को अक्षम करने के लिए tio-noprefix पैच भी मिलेगा लेकिन यह पैच केवल पुराने संस्करणों के लिए आवश्यक है, क्योंकि अपस्ट्रीम पहले ही इस पैच को स्वीकार और एकीकृत कर चुका है। मैं UART का उपयोग करते समय tio का उपयोग करने की अत्यधिक अनुशंसा करता हूँ।

बाउंस कमांड का उपयोग करते समय tio के पार, आपको अपनी ~/.tioconfig फ़ाइल में जोड़ना होगा:

root@kitploit:~
[default]

prefix-ctrl-key = none

जो ESC-हैंडलिंग को अक्षम करता है और आपको 8-बिट क्लीन चैनल देता है।

SIGUSR1 / SIGUSR2

आप pscl को SIGUSR1 भेज सकते हैं ताकि यह आपको बताए कि सत्र एन्क्रिप्टेड है या नहीं। यदि रिमोट pscr बिना स्थानीय भाग को संकेत देने की संभावना के मर जाता है या बाहर निकल जाता है, तो pscl एन्क्रिप्शन मोड में रहेगा और इसलिए हैंग हो जाएगा। इस मामले में आप SIGUSR2 भेजकर प्लेनटेक्स्ट मोड में रीसेट करने के लिए मजबूर कर सकते हैं, ताकि एक नया सत्र शुरू किया जा सके।

स्क्रिप्टिंग

संस्करण 0.64 के अनुसार, psc स्क्रिप्टिंग-सॉकेट का समर्थन करता है ताकि आपको फ़ाइलें प्राप्त/डालने या रिमोट कंसोल पर पेस्ट बफ़र्स डंप करने के लिए अब screen की आवश्यकता न हो। इसके बजाय, आप अपना स्थानीय सत्र इस प्रकार शुरू करते हैं:

root@kitploit:~
~ > ./pscl -S ~/psc.script_sock

आप फिर पहले की तरह इसका उपयोग कर सकते हैं। यदि आपको कुछ 'पेस्ट' करने की आवश्यकता है तो आप इस प्रकार करते हैं:

root@kitploit:~
~ > ./pscsh -S ~/psc.script_sock -f script_/helloworld

यह कंसोल पर script_/helloworld की सामग्री 'टाइप' करेगा। स्क्रिप्टिंग के दौरान, pscl का stdin अवरुद्ध हो जाता है ताकि इंजेक्ट किया गया इनपुट किसी भी टाइपिंग के साथ मिश्रित न हो। यदि pscsh में -S छोड़ दिया जाता है, तो ~/psc.script_sock स्वचालित रूप से उपयोग किया जाता है। सुरक्षा कारणों से, स्क्रिप्ट को script_ उपसर्ग से शुरू होना चाहिए।

एक बोनस के रूप में, pscr में अब Base64 एन/डीकोड फ़ाइलों की क्षमता है, यहां तक कि सुविधा के लिए CR एम्बेडेड वर्णों के साथ भी। यह uuencode -m के साथ संगत है।

टूल डाउनलोड करें
;