我們有一臺設備從空中接收802.11p MAC幀,並將它們完全更改爲串口(沒有網絡層頭),我們希望看到它們安排在Wireshark中,所以我們可以爲這個802.11p協議提供一種自制的嗅探器。我的方法(在Linux中與Python)是,打開串行端口,讀取幀,並將它們寫入wireshark將要監聽的命名管道。經過大量搜索後,我發現我必須寫入該管道的格式必須與pcap文件格式相同。我查看了一些執行pcap格式化(scapy,pcapy,dpkt)的python模塊,但是我找不到任何可以獲得純粹MAC幀的文件,並且只是以wireshark的方式將它寫入pcap格式的文件中閱讀,而不必我做所有的解析。你有什麼建議?讀取MAC幀並將其送入Wireshark
0
A
回答
0
剛剛創建一個tap device並寫入框架呢?然後,您可以像wireshark
一樣嗅探tap
設備,就像任何其他設備一樣。有一個示例在Python here中使用tap
設備,在C here中使用較長的教程(實際上約爲tun
設備)。
注:我沒有測試過這一點,但這個想法似乎是合理的......
UPDATE:這似乎是工作。它基於上述要點,但 只是從文件中讀取幀數據並將其寫入設備:
import sys
import fcntl
import os
import struct
import subprocess
TUNSETIFF = 0x400454ca
TUNSETOWNER = TUNSETIFF + 2
IFF_TUN = 0x0001
IFF_TAP = 0x0002
IFF_NO_PI = 0x1000
# Open TUN device file.
tun = open('/dev/net/tun', 'r+b')
# Tell it we want a TUN device named lars0.
ifr = struct.pack('16sH', 'lars0', IFF_TAP | IFF_NO_PI)
fcntl.ioctl(tun, TUNSETIFF, ifr)
# Optionally, we want it be accessed by the normal user.
fcntl.ioctl(tun, TUNSETOWNER, 1000)
# Bring it up and assign addresses.
subprocess.check_call(['ifconfig', 'lars0', 'up'])
print 'waiting'
sys.stdin.readline()
# Read an IP packet been sent to this TUN device.
packet = list(open('/tmp/packet.raw').read())
# Write the reply packet into TUN device.
os.write(tun.fileno(), ''.join(packet))
print 'waiting'
sys.stdin.readline()
相關問題
- 1. PrintWriter發送並且DataInputStream將其讀取
- 2. 從一個數據幀讀取行並將其寫入另一個列中
- 3. Wireshark - 讀取加密數據
- 4. 從控制檯讀取用戶輸入並將其寫入JSON
- 5. Java - 讀取鍵盤輸入並將其寫入文本文件
- 6. CakePHP讀取生成的PDF並將其作爲字節發送
- 7. Python:寫入文件並將其讀回
- 8. 讀取文件,將其翻轉並將其寫入另一個文件
- 9. 如何發送HTTP POST(vb mac excel 2011),並讀取HTTP響應?
- 10. 從按鈕讀取文本並將其放入輸入並運行
- 11. 如何讀取excel文件並將其放入數組中?
- 12. 如何讀取pdf文件並將其寫入outputStream
- 13. 讀取txt文件並將其寫入數據庫
- 14. 從文本文件讀取並將其寫入XML
- 15. Python - 如何讀取一組圖像並將其放入矩陣?
- 16. 從文件讀取HL7數據並將其插入表SQL Server
- 17. 讀取文件並將其放入數組?
- 18. 讀取文件並將其內容寫入另一個C++
- 19. C編程。讀取輸入並將其解析爲文字
- 20. 讀取一個字符串並將其存入(int)中C
- 21. Struts2 fileInputStream /讀取文件並將其放入內存
- 22. 讀取輸入txt文件並將其格式化爲c
- 23. 從ByteArrayOutputStream中讀取數據並將其寫入
- 24. 讀取UTF-8 XML並使用Python將其寫入文件
- 25. 如何讀取輸入並將其保存到文件中
- 26. 如何正確讀取csv並將其輸入到列表中?
- 27. 讀取文本文件並將其寫入Excel中的excel
- 28. 從ComboBox中讀取值並將其放入文本框中
- 29. 試圖讀取文件並將其輸入到數組中
- 30. 讀取txt文件並將其放入html div標記