2013-09-04 5 views
12

यदि मैं किसी भी ऊपरी परतों के पेलोड के बिना ईथरनेट फ्रेम उत्पन्न करता हूं और इसे sendp() के साथ परत दो पर भेजता हूं, तो मुझे "Mac address to reach destination not found. Using broadcast." चेतावनी और तार को तार में डाल दिया जाता है वास्तव में एफएफ: एफएफ: एफएफ: एफएफ: एफएफ: एफएफ एक गंतव्य मैक पता। ऐसा क्यों है? क्या स्कापी ने मेरे द्वारा निर्मित फ्रेम को बिल्कुल नहीं भेजा जाना चाहिए?स्कैपी को समझना "गंतव्य तक पहुंचने के लिए मैक पता नहीं मिला। प्रसारण का उपयोग करना।" चेतावनी

मेरे तैयार पैकेज नीचे देखा जा सकता है:

>>> ls(x) 
dst  : DestMACField   = '01:00:0c:cc:cc:cc' (None) 
src  : SourceMACField  = '00:11:22:33:44:55' (None) 
type  : XShortEnumField  = 0    (0) 
>>> sendp(x, iface="eth0") 
WARNING: Mac address to reach destination not found. Using broadcast. 
. 
Sent 1 packets. 
>>> 
+0

मैं इस पुन: पेश नहीं कर सकते। क्या आप उस लाइन को पोस्ट कर सकते हैं जिसका उपयोग आपने पैकेट, अपने स्कैपी संस्करण और प्लेटफ़ॉर्म को चलाने के लिए किया था? – nmichaels

उत्तर

8

अधिकांश लोगों को इस समस्या से जूझ गलत तरीके से send() (या sr(), sr1(), srloop()) का उपयोग कर रहे के बजाय sendp() (या srp(), srp1(), srploop())। रिकॉर्ड के लिए, "बिना- p" send() जैसे कार्य परत 3 पैकेट (send(IP())) भेजने के लिए हैं, जबकि "साथ -p" वेरिएंट परत 2 पैकेट (sendp(Ether()/IP())) भेजने के लिए हैं।

जैसे मैं नीचे करते हैं और sendp() (और नहीं send()) का उपयोग आप x निर्धारित करते हैं और आप अभी भी यह समस्या है, तो आप शायद इस परियोजना के Git भंडार से नवीनतम संस्करण (https://github.com/secdev/scapy देखें) के साथ प्रयास करना चाहिए।

मैं कोशिश की है:

>>> x = Ether(src='01:00:0c:cc:cc:cc', dst='00:11:22:33:44:55') 
>>> ls(x) 
dst  : DestMACField   = '00:11:22:33:44:55' (None) 
src  : SourceMACField  = '01:00:0c:cc:cc:cc' (None) 
type  : XShortEnumField  = 0    (0) 
>>> sendp(x, iface='eth0') 
. 
Sent 1 packets. 

एक ही समय में मैं tcpdump चल रहा था:

# tcpdump -eni eth0 ether host 00:11:22:33:44:55 
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode 
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes 
12:33:47.774570 01:00:0c:cc:cc:cc > 00:11:22:33:44:55, 802.3, length 14: [|llc] 
संबंधित मुद्दे