c# मैं कैसे निर्धारित करूं कि कोई पैकेट आरटीपी/आरटीसीपी है?




udp rtp (4)

मैं वॉरहार्क में पैकेट डिटेक्टरों को देखता हूं, जो सबसे आम प्रोटोकॉल उपलब्ध कर सकता है।

मैं SharpPCap का उपयोग कर रहा हूं जो कि यूपीपी यातायात पर कब्जा करने के लिए WinPCap पर बनाया गया है। मेरा अंतिम लक्ष्य है H.323 से ऑडियो डेटा कैप्चर करना और उन फोन वार्तालापों को WAV फ़ाइलों के रूप में सहेजना। लेकिन पहली बात पहले है - मुझे पता होना चाहिए कि मेरे यूडीपी पैकेट एनआईसी को कैसे पार कर रहे हैं।

SharpPCap एक UdpPacket वर्ग प्रदान करता है जो मुझे संदेश के पेलोडडाटा तक पहुंच देता है। लेकिन मुझे इस बात के बारे में अनिश्चित है कि इस डेटा के साथ क्या होता है। यह एक बाइट [] सरणी है और मुझे पता नहीं है कि यह आरटीपी या आरटीसीपी पैकेट है या नहीं।

मैंने इस विषय पर गोगल किया है लेकिन वहां बहुत कुछ नहीं है किसी भी मदद की सराहना की है


RFC 3550 में आरटीपी और आरटीसीपी पैकेट के लिए परिभाषा देखें:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=2|P|X|  CC   |M|     PT      |       sequence number         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           timestamp                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           synchronization source (SSRC) identifier            |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
|            contributing source (CSRC) identifiers             |
|                             ....                              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

मैं उपरोक्त सभी के लिए कथा को पुन: उत्पन्न नहीं करूंगा - यह काफी लंबा है - लेकिन धारा 5.1 पर एक नज़र डालें I

उस हाथ से आप देखेंगे कि वहाँ बहुत कुछ नहीं है आप यह निर्धारित करने के लिए कर सकते हैं कि क्या कोई पैकेट आरटीपी / आरटीसीपी है। सभी के लिए सबसे अच्छा सूंघना होगा, जैसा कि अन्य पोस्टर ने सुझाव दिया है, मीडिया स्ट्रीम वार्ता। दूसरा सबसे अच्छा तरीका होगा पैकेट के अनुक्रम से मिलान करने वाला पैटर्न: पहले दो बिट 10 हो जाएंगे, इसके बाद अगले दो बिट स्थिर होंगे, इसके बाद बिट्स 9 से 15 स्थिर होगा, फिर 16 -> 31 बढ़ना होगा, और शीघ्र।


यदि आरटीएसपी से संचार कम किया जाता है, तो यूटपी पोर्ट पर एक नज़र डालें जो SETUP पर बातचीत की जाती है।

udp पोर्ट आपको बताएगा कि क्या यह आरटीपी या आरटीसीपी है (यह भी ध्यान देने योग्य है कि आरटीपी आमतौर पर पोर्ट संख्याओं और ओटीसी पर आरटीसीपी पर भी किया जाता है)।

आखिरकार यदि आप आरटीपी के माध्यम से संचार कर रहे हैं तो आप डीईसीआरबी फ़ाइल से एसडीपी फाइल से पेलोड नंबर की सूची ले सकते हैं और फिर आरओपी हेडर में पेलोड प्रकार की जांच कर सकते हैं ताकि कोडेक को आपको पेलोड को डीकोड करने की आवश्यकता हो।






rtcp