से ऊपर सब कुछ मैं फ्रेम के ईथरनेट भागों को संशोधित नहीं करना चाहता, लेकिन मुझे आईपी पैकेट और फ्रेम के डेटा हिस्से को संशोधित करने की आवश्यकता है।सी # में रॉ आईपी पैकेट भेजें, ईथरनेट परत
मैं कच्चे फ्रेम भेजने का प्रयास करता हूं और यह अभी भी आईपी जानकारी में डालता है। मुझे मूल रूप से अंतराल को परिभाषित किए बिना एक फ्रेम भेजने की आवश्यकता है, जो कि मैं भेज रहा हूं।
यहाँ मैं क्या मिला है:
Socket s = new Socket(AddressFamily.Unspecified, SocketType.Raw, ProtocolType.Raw);
EndPoint ep = new IPEndPoint(IPAddress.Parse("205.188.100.58"),80);
s.SendTo(GetBytes(""),ep); //im sending nothing, so i expect the frame to just have ethernet stuff
s.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.HeaderIncluded, false);
मेरा प्रश्न: का उपयोग SendTo फ्रेम के आईपी भाग कहते हैं, मैं नहीं करना चाहती के रूप में मैं स्रोत आईपी धोखा करना चाहते हैं। "भेजें" का उपयोग करना दुर्घटनाग्रस्त हो जाएगा क्योंकि यह कहता है कि मुझे एक एंडपॉइंट निर्दिष्ट करने की आवश्यकता है। कोई सुझाव कि क्या करना चाहिये? मैं बस एक पैकेट भेजना चाहता हूं और आईपी सेक्शन और डेटा सेक्शन को खुद परिभाषित करना चाहता हूं।
नोट: नहीं, मैं एक डॉस हमला नहीं कर रहा हूं, मुझे वैध उपयोग के लिए इसकी आवश्यकता है!
मैं कैसे आईपी भाग, इसकी सिर्फ वास्तव में एक उत्पन्न आईपी भाग के बिना डेटा भेजने की बात को परिभाषित करने में पता है।
संभावित डुप्लिकेट [सी # के साथ कच्चे ईथरनेट पैकेट कैसे भेजें?] (Http://stackoverflow.com/questions/3964013/how-send-raw-ethernet-packet-with-c) – mafu
यह प्रश्न बहुत बेहतर हो गया पाठ, लेकिन उत्तर वहां पर हैं - यह विलय किया जाना चाहिए। – mafu