zeek-parser-DHCPv4-COM

Zeek-Parser-DHCPv4-COM

English is here

概要

Zeek-Parser-DHCPv4-COMとはZeekオリジナルのDHCPv4(Dynamic Host Configuration Protocol for IPv4)プラグインを参考にして作成したプラグインです。

インストール

パッケージマネージャーによるインストール

このプラグインはZeek Package Manger用のパッケージとして提供されています。

以下のコマンドを実行することで、本プラグインは利用可能になります。 zkg refresh zkg install zeek-parser-DHCPv4-COM

マニュアルインストール

本プラグインを利用する前に、Zeek, Spicyがインストールされていることを確認します。 `

Zeekのチェック

~$ zeek -version zeek version 5.0.0

Spicyのチェック

~$ spicyz -version 1.3.16 ~$ spicyc -version spicyc v1.5.0 (d0bc6053)

本マニュアルではZeekのパスが以下であることを前提としています。

~$ which zeek /usr/local/zeek/bin/zeek `

本リポジトリをローカル環境に git clone します。 ~$ git clone https://github.com/nttcom/zeek-parser-DHCPv4-COM.git

使い方

パッケージマネージャーによるインストールの場合

以下のように本プラグインを使うことで mydhcp.log が生成されます。

zeek -Cr /usr/local/zeek/var/lib/zkg/clones/package/zeek-parser-DHCPv4-COM/testing/Traces/test.pcap zeek-parser-DHCPv4-COM

マニュアルインストールの場合

ソースコードをコンパイルして、オブジェクトファイルを以下のパスにコピーします。 ` ~$ cd ~/zeek-parser-DHCPv4-COM/analyzer ~$ spicyz -o mydhcp.hlto mydhcp.spicy zeek_mydhcp.spicy mydhcp.evt

mydhcp.hltoが生成されます

~$ cp mydhcp.hlto /usr/local/zeek/lib/zeek-spicy/modules/ `

同様にZeekファイルを以下のパスにコピーします。 ~$ cd ~/zeek-parser-DHCPv4-COM/scripts/ ~$ cp main.zeek /usr/local/zeek/share/zeek/site/MYDHCP.zeek

最後にZeekプラグインをインポートします。 ~$ tail /usr/local/zeek/share/zeek/site/local.zeek ...省略... @load MYDHCP

本プラグインを使うことで mydhcp.log が生成されます。 ~$ cd ~/zeek-parser-DHCPv4-COM/testing/Traces ~$ zeek -Cr test.pcap /usr/local/zeek/share/zeek/site/MYDHCP.zeek

ログのタイプと説明

本プラグインはdhcpv4の全ての関数を監視してmydhcp.logとして出力します。

フィールド タイプ 説明
ts time 通信した時のタイムスタンプ
SrcIP addr 送信元IPアドレス
SrcMAC string 送信元MACアドレス
Hostname string ホストの名前
ParameterList vector[count] DHCPクライアントとDHCPサーバ間でやり取りされるメッセージ内の設定情報
ClassId string デバイスのタイプやバージョン情報

mydhcp.log の例は以下のとおりです。 `

separator \x09

set_separator ,

empty_field (empty)

unset_field -

path mydhcp

open 2023-09-13-05-55-51

fields ts SrcIP SrcMAC Hostname ParameterList ClassId

types time addr string string vector[count] string

1539480862.362578 0.0.0.0 32:05:33:83:b1:e7 DESKTOP-QVGI2E4 1,3,6,15,31,33,43,44,46,47,119,121,249,252 MSFT 5.0 1539567778.980630 192.168.0.28 32:05:33:83:b1:e7 DESKTOP-QVGI2E4 1,3,6,15,31,33,43,44,46,47,119,121,249,252 MSFT 5.0

close 2023-09-13-05-55-55


## 関連ソフトウェア

本プラグインは[OsecT](https://github.com/nttcom/OsecT)で利用されています。

## 関連リポジトリ

* [spicy-dhcp](https://github.com/zeek/spicy-dhcp) - ZeekオリジナルのSpicyに基づいたDHCPv4(Dynamic Host Configuration Protocol for IPv4)プラグインです。

### ログの差分(DHCPv4-COMとZeekオリジナル)

| フィールド | DHCPv4-COM | Zeekオリジナル | 説明 |
| --- | --- | --- | --- |
| ts | ◯ | ◯ | 通信した時のタイムスタンプ |
| SrcIP | ◯ |  ◯ (client_addr) | 送信元IPアドレス |
| SrcMAC | ◯ | ◯ (mac) | 送信元MACアドレス |
| Hostname | ◯ | ◯ (host_name) | ホストの名前 |
| ParameterList | ◯ | x | DHCPクライアントとDHCPサーバ間でやり取りされるメッセージ内の設定情報 |
| ClassId | ◯ | x | デバイスのタイプやバージョン情報 |
| uids | x | ◯ | 通信に付けられた一意の識別子 |
| server_addr | x | ◯ | DHCPサーバのIPアドレス |
| client_fqdn | x | ◯ | DHCPクライアントの完全修飾ドメイン名 |
| domain | x | ◯ | DHCPクライアントが所属するドメイン名 |
| requested_addr | x | ◯ | DHCPクライアントが要求したIPアドレス |
| assigned_addr | x | ◯ | DHCPサーバによってクライアントに割り当てられたIPアドレス|
| lease_time | x | ◯ | DHCPクライアントに割り当てられたIPアドレスのリース時間 |
| client_message | x | ◯ | DHCPクライアントのメッセージ |
| server_message | x | ◯ | DHCPサーバのメッセージ |
| msg_types | x | ◯ | メッセージのタイプ |
| duration | x | ◯ | 通信の継続時間 |

Package Version :