ラズベリーパイ(Raspberry Pi)を使用したパケット嗅覚


 +-----------+           +-----------+          +------------+
 |           |           |           |          |            |
 |           |   ETH1    | RASPBERRY |   ETH0   |            |
 |  LAPTOP   +-----------+    PI     +----------+     PC     |
 |           |           |           |          |            |
 |           |           |           |          |            |
 +-----------+           +-----------+          +------------+
2つのネットワークデバイス間でパケット嗅覚を実行するために、ツリーベリーパイを設定する方法について詳しく説明するつもりです.その動作原理を説明し、次にネットワークブリッジとパケットをダンプするshellスクリプトとpythonスクリプトをそれぞれ設定します.
ネットワークレイアウト:Raspberry Piは中間にあり、各デバイス間で伝送されたすべてのデータがキャプチャされます.2番目のUSB転送イーサネットアダプタは、2番目のインタフェースを提供します.私が使っているアダプタはUSBから高速毎秒10100 MbpsネットワークLANアダプタVista Linux 27723です.
Raspberry piが起動すると、2つのスクリプトがロードされます.まず、次のshellスクリプトです.

ifconfig eth0 0.0.0.0
ifconfig eth1 0.0.0.0
brctl addbr bridge0
brctl addif bridge0 eth0
brctl addif bridge0 eth1
dhclient bridge0
ifconfig bridge0 up
このスクリプトは、eth 0およびeth 1からIPアドレスを削除します.次にbridge 0というブリッジを作成します.インタフェースをbridge 0に追加し、ブリッジを起動する.shellスクリプトはまた、ネットワーク接続を許可するためにブリッジインタフェースにネットワークアドレスを割り当てます.(dhclientブリッジ0)
上記のスクリプトの2番目のスクリプトは、次のpythonスクリプトです.Python Dropbox Uploader拡張を実現し、ここでダウンロードできます.
import subprocess
from dbupload import upload_file #Used for Dropbox uploading
from datetime import datetime # Used the genreate the filename
count = 0 #Counts the number of files that have been dumped
while True:
    count = count + 1
    fileName = str(datetime.now().day) + "-" + str(datetime.now().month) + "-" + str(datetime.now().year) + " AT " + str(datetime.now().hour) + "-" + str(datetime.now().minute)
    tcpDumpProcess = subprocess.Popen(["tcpdump", "-Z", "root", "-w", fileName, "-i", "bridge0", "-G", "60", "-W", "1"]) #Sets up the TCPDump command
    tcpDumpProcess.communicate() #Runs the TCPDump command
    print "Currently dumping file number " + str(count) + "."
    upload_file(fileName,"/",fileName, "YOUR_EMAIL","YOUR_PASSWORD") #Uploads the dump file to dropbox
    print "File uploaded Successfully"
ネットワーク設定をブリッジインタフェースに追加するだけで、Raspberry Piでインターネット接続を構成できます.私の場合、DHCPを使用して、Shellスクリプトにdhclient bridge 0を追加することで、この操作を自動的に実行します.
この2つのファイルをベリーパイに保存し、起動時にrcから保存します.localファイルが実行され、2つのデバイス間のネットワークトラフィックが自動的にキャプチャされます.
注目:Hunterネットワークセキュリティ詳細サイト:bbs.kylzrv.com CTFチーム:Hunterサイバーセキュリティ記事:Xtratoレイアウト:Hunter-匿名者