2009-05-27 12 views
18

मैं कुछ विरासत प्रणालियों से निपट रहा हूं जो परिधीय के साथ संवाद करने के लिए आरएस 232 का उपयोग कर रहे हैं। मैं COM इंटरफेसिंग के साथ बहुत अनुभवी नहीं हूँ। मेरे पास कुछ कोड है जो COM पोर्ट्स को खोल और उपयोग कर सकता है, लेकिन यह अन्य अनुप्रयोगों द्वारा उपयोग किए जाने वाले बंदरगाहों को नहीं खोल सकता है। मुझे पैकेट को ब्लैक बॉक्स करने की ज़रूरत है ताकि हम अद्यतन संचार के लिए उसी प्रोटोकॉल का उपयोग कर सकें।सीरियल कॉम पोर्ट्स को सुनकर

क्या "मध्य आदमी" आने वाले पैकेट को खुले COM पोर्ट में कोई रास्ता है और पता लगाएं कि कौन से पैकेट भेजे जा रहे हैं? मैं .NET का उपयोग कर रहा हूं, लेकिन मैं किसी भी प्रकार के समाधान के लिए खुला हूं।

(मैं this वहाँ पता चला है, लेकिन मुझे नहीं लगता कि यह मेरे लिए काम करेंगे है।)

+1

मुझे लगता है कि hub4com एप्लिकेशन (com0com से) वास्तव में आपको जो चाहिए वह कर सकता है। –

उत्तर

13

मैं com0com का उपयोग किया है - यह आभासी कॉम बंदरगाहों की स्थापना के लिए बहुत अच्छा है - जो आप पर मदद नहीं करता है सब।

COM पोर्ट इंटरफ़ेस मूल रूप से 'फ़ाइल पढ़ा' है। जब मैं एक COM पोर्ट से कनेक्ट करने का प्रयास करता हूं तो मेरा एप्लिकेशन अपवाद फेंकता है जिसमें पहले से ही एक और उदाहरण पढ़ रहा है। मुझे यकीन नहीं है कि क्या आप इसे पढ़ने के बजाय 'केवल पढ़ने' के रूप में खोलने का प्रयास कर सकते हैं, लेकिन यह एक कोशिश के लायक है।

आपको एक वर्चुअल कॉम पोर्ट लिखने में सक्षम होना चाहिए जो आपके डेटा को लॉग फ़ाइल में बंद कर सकता है। Com0com ओपन-सोर्स है, इसलिए आप इसे शुरुआती बिंदु के रूप में उपयोग कर सकते हैं।

एक और संभावित समाधान rs232 splitter cable सीरियल सिग्नल को दूसरे सीरियल पोर्ट पर फोर्क करने के लिए हो सकता है।

या फिर एक और संभावना Serial Sniffer program (या open source sniffer) है।

या उसी com0com वेबसाइट से hub4com app आज़माएं!

+1

आपके द्वारा सुझाए गए स्नीफर्स अनिवार्य रूप से जो मैंने पहले ही लिखे हैं। मुझे लगता है कि वर्चुअलाइजेशन जाने का सबसे अच्छा तरीका हो सकता है, लेकिन मुझे लाइन को विभाजित करने का विचार पसंद है। क्या मैं डिवाइस से और पैकेट को कैप्चर करने में सक्षम हूं? – Daniel

+0

क्या आप जानते हैं कि hub4com के लिए कोड कहां प्राप्त करें साइट पर exe है लेकिन मुझे कोड नहीं दिखाई दे रहा है। – baash05

+0

http://com0com.cvs.sourceforge.net/viewvc/com0com/hub4com/ के माध्यम से वहाँ मिल गया: http://sourceforge.net/scm/?type=cvs&group_id=129551 – Kieveli

4

मैं इसी मार्ग से नीचे गया हूं। एक हार्डवेयर स्प्लिटर सबसे आसान समाधान है।

hub4com सेटअप में "नया हार्डवेयर जोड़ें" विज़ार्ड शामिल होगा। यदि आपके पास बहुत सारी मशीनें हैं, भौगोलिक दृष्टि से अलग मशीनें, या ऐसे उपयोगकर्ता जो तकनीकी रूप से समझदार नहीं हैं और आवश्यक अनुमतियों की कमी है, तो स्थापना अजीब हो सकती है।

यदि यह एक विरासत अनुप्रयोग है, तो क्या यह ntvdm में चलता है? यदि ऐसा है, तो आप इसे DosBox में चला सकते हैं और सीरियल पोर्ट से/प्राप्त करने/प्राप्त करने के अलावा फ़ाइल को लिखने के लिए डॉसबॉक्स कोड को बदल सकते हैं। डॉसबॉक्स भी क्रॉस प्लेटफॉर्म है।

+0

पर काम कर रहे समय के लिए मुझे पता है कि यह विंडोज़ पर चलता है। बाकी पूरी तरह से काला बॉक्स है। दुर्भाग्य से प्रणाली पोलैंड में है और मैं नहीं हूं। मेरा संपर्क उचित कंप्यूटर साक्षर है। यदि केबल को विभाजित करने से मुझे आने वाली और जाने वाली यातायात दोनों की क्षमता मिल जाएगी, जो जाने के रास्ते की तरह लगता है। – Daniel

+0

स्प्लिटर जाने का रास्ता होना चाहिए, फिर। मेरे मामले में मैंने उस समाधान को त्याग दिया क्योंकि हमारे पास एक और प्रोजेक्ट था जहां एक विक्रेता भी एक स्प्लिटर का उपयोग करना चाहता था, और मैं इसे दो बार विभाजित करने के बारे में सोचना नहीं चाहता था। –

10

वहाँ कोई तरीका है "मध्यम आदमी"

हाँ, वहाँ कई हैं। "फिल्टर ड्राइवर" की अवधारणा के माध्यम से विंडोज़ में दृढ़ता से समर्थित है। ऐसे ड्राइवर को ड्राइवर से आगे डाला जा सकता है जो I/O अनुरोध प्राप्त करता है और जो कुछ भी पास करता है उसे देखता है। आम तौर पर I/O अनुरोधों को बदलने का अनुरोध किया जाता है लेकिन अनुरोधों की निगरानी के लिए भी बहुत उपयुक्त है। बीच वाला व्यक्ति।

ऐसे ड्राइवर का कैननिकल उदाहरण आदरणीय SysInternals' PortMon utility है। एक ऐप भेजता है और कॉन्फ़िगरेशन और डेटा सहित एक सीरियल पोर्ट से/प्राप्त करता है। ऐसे कई ऐप्स हैं, बस Google "सीरियल पोर्ट फ़िल्टर ड्राइवर" (स्रोत कोड नमूने पर भारी) और "सीरियल पोर्ट मॉनीटर"।

इसके साथ एक फुटनोट, आपको विंडोज के 64-बिट संस्करण पर कोई समस्या है। पोर्टमॉन समेत इन ऐप्स का विशाल बहुमत केवल 32-बिट संस्करण पर काम करता है।64-बिट संस्करण केवल प्रमाणित ड्राइवरों को स्थापित करने की अनुमति देता है, खर्च को उचित ठहराने के लिए इन ऐप्स को बेचने में बहुत कम पैसा है। जब आप खरीदारी करते हैं तो इससे सावधान रहें।

0

आप डेटा को ईथरनेट पैकेट में कनवर्ट करने और इसे वायरसहार्क के साथ मॉनिटर करने के लिए TCPcom का भी उपयोग कर सकते हैं - और इसे कहीं और प्रसारित भी कर सकते हैं। फिर आप वर्चुअल कॉम पोर्ट समेत किसी भी कॉम पोर्ट को अग्रेषित करने के लिए टीसीपीकॉम का एक और उदाहरण उपयोग करते हैं। अब आपने ईथरनेट के माध्यम से डेटा को अनिवार्य रूप से अपहरण कर लिया है। https://sourceforge.net/projects/combytcp/?source=directory

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^