2013-09-04 31 views
12

Nếu tôi tạo khung Ethernet mà không có bất kỳ tải trọng nào trên lớp và gửi nó ở lớp hai với sendp(), thì tôi nhận cảnh báo "Mac address to reach destination not found. Using broadcast." và khung được đặt vào dây thực sự sử dụng ff: ff: ff: ff: ff: ff địa chỉ MAC đích. Tại sao cái này rất? Scapy có nên gửi chính xác khung hình mà tôi đã xây dựng không?Tìm hiểu về Scapy "Địa chỉ Mac để không tìm thấy đích. Sử dụng chương trình phát sóng". Cảnh báo

gói crafted của tôi có thể được nhìn thấy dưới đây:

>>> 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

tôi không thể tái sản xuất này. Bạn có thể đăng dòng bạn đã sử dụng để tạo gói, phiên bản scapy của bạn và nền tảng bạn đang chạy không? – nmichaels

Trả lời

8

Hầu hết mọi người gặp phải vấn đề này được không đúng cách sử dụng send() (hoặc sr(), sr1(), srloop()) thay vì sendp() (hoặc srp(), srp1(), srploop()). Đối với bản ghi, các hàm "without- p" như send() là để gửi gói 3 lớp (send(IP())) trong khi các biến "with- p" dùng để gửi gói 2 lớp (sendp(Ether()/IP())).

Nếu bạn xác định x như tôi làm dưới đây và sử dụng sendp() (và không send()) và bạn vẫn có vấn đề này, có lẽ bạn nên thử với phiên bản mới nhất từ ​​kho git của dự án (xem https://github.com/secdev/scapy).

Tôi đã thử:

>>> 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. 

Cùng lúc đó tôi đã chạy 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] 
Các vấn đề liên quan