web-dev-qa-db-ja.com

pcapデータをcsvにエクスポート:タイムスタンプ、バイト、アップリンク/ダウンリンク、追加情報

Pcapデータを解析し、次の情報を含むcsvファイルに変換できるツールがあるかどうか疑問に思いました。

タイムスタンプ、バイト、アップリンク/ダウンリンク、いくつかの追加情報。

基本的に、アップリンク/ダウンリンクはIP/MACアドレスで見ることができ、追加情報は実際には必要ありませんが、それが意味するのは、たとえばパケットの特定のフィールドを選択することです。

私はいくつかのツールを試してきましたが、まだ適切なツールを見つけていません。それ以外の場合は、小さなパーサーを作成します。前もって感謝します!

13
Ekhi

TShark
下記は用例です:

 $ tshark -r test.pcap -T fields -e frame.number -e eth.src -e eth.dst -e ip.src -e ip.dst -e frame.len> test1.csv 
 
 $ tshark -r test.pcap -T fields -e frame.number -e eth.src -e eth.dst -e ip.src -e ip.dst -e frame.len- Eヘッダー= y -Eセパレータ=、> test2.csv 
 
 $ tshark -r test.pcap -R "frame.number> 40" -Tフィールド-eframe.number -e frame .time -e frame.time_delta -e frame.time_delta_displayed -e frame.time_relative -E header = y> test3.csv 
 
 $ tshark -r test.pcap -R "wlan.fc。 type_subtype == 0x08 "-Tフィールド-eframe.number -e wlan.sa -e wlan.bssid> test4.csv 
 
 $ tshark -r test.pcap -R" ip.addr == 192.168.1.6 && tcp.port == 1696 && ip.addr == 67.212.143.22 && tcp.port == 80 "-Tフィールド-eframe.number -e tcp.analysis.ack_rtt -E header = y> test5.csv 
 
 $ tshark -r test.pcap -T fields -e frame.number -e tcp.analysis.ack_rtt -E header = y> test6.csv 
18
joke

もう探す必要はありません。wiresharkはあなたの親友です。それはあなたのpcapファイルを開くことができ、あなたが望む追加の列を指定することを可能にします。この後、それらをcsvとしてエクスポートできます。メインインターフェイスで、いずれかの列を右に移動し、[列の設定]を選択します。これにより、非常に直感的な新しいウィンドウが開きます。新しい列を追加して、フィールド名を指定するだけです。それと同じくらい簡単です。

私はtsharkを試しましたが、特にこれで少し面倒になると信じてください:

 tshark:読み取りフィルターは「-R」と追加のコマンドライン引数の両方で指定されました。 "

このメッセージは、列が多すぎる場合、または不明な理由でポップアップします。

5
stholy

必要なようです Bro の接続ログ:

bro -r trace.pcap
head conn.log

出力:

#separator \x09
#set_separator  ,
#empty_field    (empty)
#unset_field    -
#path   conn
#fields ts  uid id.orig_h   id.orig_p   id.resp_h   id.resp_p   proto   service duration    orig_bytes  resp_bytes  conn_state  local_orig  missed_bytes    history orig_pkts   orig_ip_bytes   resp_pkts   resp_ip_bytes
#types  time    string  addr    port    addr    port    enum    string  intervacount    count   string  bool    count   string  count   count   count   count
1258531221.486539   gvuu4KIHDph 192.168.1.102   68  192.168.1.1 67  udp -   0.163820    301 300 SF  -   0   Dd  1   329 1   328
1258531680.237254   6nWmFGj6kWg 192.168.1.103   137 192.168.1.255   137 udp dns 3.780125    350 0   S0  -   0   546 0   0
1258531693.816224   y2lMKyrnnO6 192.168.1.102   137 192.168.1.255   137 udp dns 3.748647    350 0   S0  -   0   546 0   0

次に、関連するフィールドを解析します。

bro-cut ts id.orig_h id.orig_p id.resp_h id.resp_p service orig_bytes resp_bytes < conn.log | head

1258531221.486539   192.168.1.102   68  192.168.1.1     67  -   301 300
1258531680.237254   192.168.1.103   137 192.168.1.255   137 dns 350 0
1258531693.816224   192.168.1.102   137 192.168.1.255   137 dns 350 0
1258531635.800933   192.168.1.103   138 192.168.1.255   138 -   560 0
1258531693.825212   192.168.1.102   138 192.168.1.255   138 -   348 0
1258531803.872834   192.168.1.104   137 192.168.1.255   137 dns 350 0
1258531747.077012   192.168.1.104   138 192.168.1.255   138 -   549 0
1258531924.321413   192.168.1.103   68  192.168.1.1     67  -   303 300
1258531939.613071   192.168.1.102   138 192.168.1.255   138 -   -   -
1258532046.693816   192.168.1.104   68  192.168.1.1 67  -   311 300
2
mavam

これがpython pcapをフローに分割し、抽出された特徴をCSVファイルに出力するツールです

Pythonでflows_to_wekaツールを使用してみてください

これには、システムにインストールされているscapyのバージョンが必要であり、wekaフォルダー内にscapyフォルダーをコピーすることをお勧めします。そして、scapyフォルダー内のwfe.py、tcp_stream.py、およびentropy.pyファイルをコピーします。これを実行すると、現在のディレクトリは次のようになります。

C:\Users\INKAKA\flows_to_weka\scapy

.pcapファイルをこのフォルダーにコピーして、次のコマンドを実行してみてください。

$python  wfe.py -i input.pcap -t csv > output.csv

また、tcp_stream.pyとwfe.pyに必要な機能を追加することで、必要な機能を取得することもできます。

参考のためにあなたは訪問することができます: https://github.com/fichtner/flows_to_weka

0
kalyan karumudi

質問へのコメントに記載されているように、キャプチャファイルのフレームのIPアドレスをcsv形式で出力するには、次のようなものを使用します。

tshark -r <filename> -t fields -e ip.addr

Csv出力で区切り文字と引用文字を設定するオプションの詳細については、tsharkのヘルプを参照してください。

フィールド名は、Wiresharkを使用してキャプチャファイルを調べ、詳細ペインで特定のフィールドを選択することで決定できます。フィールド名は、Wiresharkウィンドウの下部にあるステータス行に表示されます。

0
willyo

カンマ以外のフィールド区切り文字を設定することはできますか? PCapファイルでseparator =を設定すると、ほとんどの列にが含まれているため、出力ファイル(.csv)のデータが見栄えが悪くなります。

だから私は他の文字のようにフィールド区切り文字を設定できる方法があることを知りたいです、すなわち| (pip)など

ありがとう

0
Rabeel Javed

これは、Wiresharkアプリケーション自体から実行できます。

  • ファイルがすでにディスクに保存されていることを確認してください(File>Save)(キャプチャを実行したばかりの場合)
  • File>Export Packet Dissesctions>as "CSV" [etc]に移動します
  • 次に、ファイル名を入力します(WSはこれを行わないため、最後に.csvを追加してください!)

出来上がり

0
Matt Wilko