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として出力します。

フィールドタイプ説明
tstime通信した時のタイムスタンプ
SrcIPaddr送信元IPアドレス
SrcMACstring送信元MACアドレス
Hostnamestringホストの名前
ParameterListvector[count]DHCPクライアントとDHCPサーバ間でやり取りされるメッセージ内の設定情報
ClassIdstringデバイスのタイプやバージョン情報

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で利用されています。

関連リポジトリ

  • spicy-dhcp - ZeekオリジナルのSpicyに基づいたDHCPv4(Dynamic Host Configuration Protocol for IPv4)プラグインです。

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

フィールドDHCPv4-COMZeekオリジナル説明
ts通信した時のタイムスタンプ
SrcIP◯ (client_addr)送信元IPアドレス
SrcMAC◯ (mac)送信元MACアドレス
Hostname◯ (host_name)ホストの名前
ParameterListxDHCPクライアントとDHCPサーバ間でやり取りされるメッセージ内の設定情報
ClassIdxデバイスのタイプやバージョン情報
uidsx通信に付けられた一意の識別子
server_addrxDHCPサーバのIPアドレス
client_fqdnxDHCPクライアントの完全修飾ドメイン名
domainxDHCPクライアントが所属するドメイン名
requested_addrxDHCPクライアントが要求したIPアドレス
assigned_addrxDHCPサーバによってクライアントに割り当てられたIPアドレス
lease_timexDHCPクライアントに割り当てられたIPアドレスのリース時間
client_messagexDHCPクライアントのメッセージ
server_messagexDHCPサーバのメッセージ
msg_typesxメッセージのタイプ
durationx通信の継続時間

Package Version :