mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +00:00
37 lines
903 B
Text
37 lines
903 B
Text
##! Tracks MAC address with hostnames seen in DHCP traffic. They are logged into
|
|
##! ``devices.log``.
|
|
|
|
@load policy/misc/known-devices
|
|
|
|
module Known;
|
|
|
|
export {
|
|
redef record DevicesInfo += {
|
|
## The value of the DHCP host name option, if seen.
|
|
dhcp_host_name: string &log &optional;
|
|
};
|
|
}
|
|
|
|
event dhcp_request(c: connection, msg: dhcp_msg, req_addr: addr, serv_addr: addr, host_name: string)
|
|
{
|
|
if ( msg$h_addr == "" )
|
|
return;
|
|
|
|
if ( msg$h_addr !in known_devices )
|
|
{
|
|
add known_devices[msg$h_addr];
|
|
Log::write(Known::DEVICES_LOG, [$ts=network_time(), $mac=msg$h_addr, $dhcp_host_name=host_name]);
|
|
}
|
|
}
|
|
|
|
event dhcp_inform(c: connection, msg: dhcp_msg, host_name: string)
|
|
{
|
|
if ( msg$h_addr == "" )
|
|
return;
|
|
|
|
if ( msg$h_addr !in known_devices )
|
|
{
|
|
add known_devices[msg$h_addr];
|
|
Log::write(Known::DEVICES_LOG, [$ts=network_time(), $mac=msg$h_addr, $dhcp_host_name=host_name]);
|
|
}
|
|
}
|