2013-10-21 76 views
1

我想創建一個具有以下拓撲演示:簡單的原始數據包捕捉和發送程序

... ---> [轉] < ---> [主持人]

DEMO:交換機向監控主機發送數據包(數據包的原始目的地不是該主機,但交換機將通過鏡像端口發送給它)。 monitor-Host將捕獲該數據包,對其執行某些操作(例如,僅將L2-L4頭字段轉儲到某個日誌文件中),然後將原始數據包發送回交換機。

主機環境: Ubuntu 12.04 Linux。

困境:什麼是我能捕捉到主機的數據包和原始數據包發送回交換機最簡單的方法?

可能性探索:

  • C語言創建一個數據包嗅探器程序(看起來複雜... libpcap的,AF_Packet插座等)。
  • 嘗試使用python scapy(不知道這將是多麼複雜)。
  • 嘗試安裝某種開放源代理服務器,我可以編寫一個插件來檢查捕獲的數據包。

問題:任何更好的建議(如果我能避免去編程路線,將優選有沒有什麼簡單的腳本的方法來做到這一點?)。在這裏尋找一個快速和骯髒的方法。謝謝。

回答

0

好吧,你可以使用可用的數據包嗅探器,如wireshark,ettercap,它將捕獲所有網絡數據包(使用promisc模式)並將它們轉儲爲可讀格式。 或者,你可以很容易地在python,linux中編寫自己的代碼嗅探器,這對於理解並不複雜。