DHCP 日志分析

DHCP 日志分析

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一种有效的IP 地址分配手段,现已经被广泛地应用在各种局域网管理。它能动态地向网络中每台计算机分配唯一的IP 地址,并提供安全、可靠、简单和统一的TCP/IP网络配置,确保不发生IP地址冲突。当在服务器上启用DHCP后,我们希望了解服务的运行情况,希望看到详细日志。可以通过下面的命令了解到dhcp server的日志文件在什么地方。以RHEL系统为例,命令如下:

rpm –ql dhcp-server

DHCP服务的默认日志不会输出到指定文件,而是和NFS服务一样,输出到/var/log/messages文件中,成了日志的大杂烩,不便于分辨,也不便于查找故障,一旦messages文件遭到破坏,DHCP的日志也跟着受影响。

wKiom1TbD_jj1VZ8AAWFPjgF4d0399.jpg
对于以上日志我们可以把在1.2节学到的脚本放到这里进行分析。还有没有其他什么文件,记录了DHCP的分配IP的信息呢?那就是/var/lib/dhcp/db/dhcpd.leases文件,它记录了客户机分配IP的详细信息。下面我们通过一个例子解读一下。
客户机每次获取地址后会产生如下信息:
Lease 192.168.150.207 {
Starts 12012/12/31 11:23:32
End 1 2012/12/31 11:25:32;
Tstp 1 2012/12/31 11:25:32;
Cltt 1 2012/12/31 11:25:32;
Bindingstate free;
Hardwareethernet 00:0c:29:51:b3:d9;
Uid“\001\000\014)Q\263\331”;
Client-hostname “linux-5jlv”;
}
每当发生租约变化的时候,都会在文件结尾添加新的租约记录,也就是说这个文件是在不断变化的。表1做出解释。
表1 DHCP日志含义
参数
含义

Lease
租用IP

starts
开始时间

end
结束时间

tstp
指定租约过期时间

cltt
客户端续约时间

Binding state
租约绑定状态自由(free)、激活(active)

Hardware ethernet
客户机网卡MAC地址

UID
客户端标识符由三位八进制表示用于与MAC匹配

Client-hostname
客户机名称

从上面分析看到,DHCP服务器的日志在messages和dhcpd.leases里分别有一部分都不全面,如何将DHCP的日志专门转储到特定文件中呢?下面介绍一种方法。

假设我们需要将日志记录在/var/log/目录下,我们先touch一个dhcp.log文件。
1).创建dhcp.log文件

touch /var/log/dhcp.log

chmod 640 /var/log/dhcp.log

2).修改/etc/dhcpd.conf配置文件,然后保存并退出。(注意不同Linux发行版配置文件路径有所不同)
log-facility local4;
3).在/etc/rsyslog.conf文件中添加
Local4.* /var/log/dhcp.log
注意要把下面这行语句注销
Local4,local5.* -var/log/localmessages;RSYSLOG_TraditionalFileFormat
重启DHCP服务即可生效,这时的日志文件就是DHCP服务器出现故障后排除错误的一个重要基础数据。所以,我们还需要定期对这个日志文件作好备份工作。否则,当这个日志意外丢失后,我们就很难查清DHCP服务器的故障。
另外,对于Windows Server 平台DHCP日志,请参考http://support.microsoft.com/kb/298367/zh-cn。

更多日志分析精彩实战请参考《UNIX/Linux网络日志分析与流量监控》一书

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/544603.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Nginx For Windows Socket 端口转发

Nginx For Windows Socket 端口转发一、需求说明二、配置文件一、需求说明 使用Nginx进行端口转发 Socket 端口通信。 监控本地服务器的 3001 端口,转发到 10.73.60.48:3001 服务器上的 Socket 端口服务。 二、配置文件 完整配置文件如下,测试可用 #…

16 条 yyds 的代码规范

作者 | 涛姐涛哥链接 | cnblogs.com/taojietaoge/p/11575376.html背景:如何更规范化编写Java 代码的重要性想必毋需多言,其中最重要的几点当属提高代码性能、使代码远离Bug、令代码更优雅。一、MyBatis 不要为了多个查询条件而写 1 1当遇到多个查询条件…

linkedhashset_Java LinkedHashSet clear()方法与示例

linkedhashsetLinkedHashSet类的clear()方法 (LinkedHashSet Class clear() method) clear() method is available in java.util package. clear()方法在java.util包中可用。 clear() method is used to clear all of the existing objects in this LinkedHashSet. clear()方法…

C# 导出word文档及批量导出word文档(3)

在初始化WordHelper时,要获取模板的相对路径。获取文档的相对路径多个地方要用到,比如批量导出时要先保存文件到指定路径下,再压缩打包下载,所以专门写了个关于获取文档的相对路径的类。 1 #region 获取文档的相对路径2 pub…

Nginx For Windows 路由配置

Nginx For Windows 路由配置一、路由配置说明二、需求说明三、配置文件一、路由配置说明 使用Nginx进行路由配置。 使用过 SpringCloud 网关的同学都知道,网关可以使用同一IP地址、同一端口号、不同的服务ID,转发不同服务API信息,不会出现跨…

再见收费的 XShell,我改用国产良心工具!

使用或维护Linux系统的都知道,我们日常对服务器的操作,一般都会借助SSH工具远程登录到服务器之后进行操作。常用的SSH工具有不少,比如:Xshell、Putty、SSH Secure Shell Client、secureCRT等等。我使用过其中两种secureCRT和Xshel…

Java IdentityHashMap put()方法与示例

IdentityHashMap类的put()方法 (IdentityHashMap Class put() method) put() method is available in java.util package. put()方法在java.util包中可用。 put() method is used to set the given value element (val_ele) with the given key element (key_ele) when no valu…

全球六大国际域名解析量统计报告(6月25日)

IDC评述网(idcps.com)06月29日报道:根据DailyChanges公布的实时数据显示,在2015年6月25日,全球六大国际域名解析量总量持续攀升至153,246,819个,环比6月16日,净增46,078个,涨幅增大3…

Windows 创建符号链接

一、场景分析 1.环境变量 在Windows系统配置 环境变量 的时候,经常会遇到以下 路径 情况: C:\Program Files C:\Program Files (x86)\Common Files2.异常情况 这种路径中,存在空格字符,在一些程序调用时,可能出现异…

1.3w字,一文详解死锁!

作者 | 王磊来源 | Java中文社群(ID:javacn666)转载请联系授权(微信ID:GG_Stone死锁(Dead Lock)指的是两个或两个以上的运算单元(进程、线程或协程),都在等待…

Java Dictionary elements()方法与示例

字典类的elements()方法 (Dictionary Class elements() method) elements() method is available in java.util package. elements()方法在java.util包中可用。 elements() method is used to get the elements of an Enumeration in this dictionary. elements()方法用于获取此…

PHP与ThinkPHP读写文件

2019独角兽企业重金招聘Python工程师标准>>> 使用php将数据写入到指定的文件 $str"<?php return".var_export($phiz,true)."?>"; file_put_contents(./Data/phiz.php); 使用php读取指定的文件 …

软件版本号设置规则及示例

一、版本号设置规则 ABC客户端 版本说明书 [版本命名规则] 如&#xff1a;1.0.0.0 位数名称描述情景第一位主版本重大修改&#xff0c;重写或里程碑[里程碑] [重大更新]第二位次版本显著增强、功能变更较多[新增功能] [删减功能]第三位生成号功能变更&#xff0c;局部修正较多…

【图解】透彻Java线程状态转换

大家好&#xff0c;我是阿星&#xff0c;好久不见&#xff0c;欢迎来到Java并发编程系列番外篇线程状态转换&#xff0c;内容通俗易懂&#xff0c;请放心食用。线程状态先来个开场四连问Java线程状态有几个&#xff1f;Java线程状态是如何转换&#xff1f;Java线程状态转换什么…

Java Byte类的hashCode()方法及示例

短类hashCode()方法 (Short class hashCode() method) hashCode() method is available in java.lang package. hashCode()方法在java.lang包中可用。 hashCode() method is used to return hashcode of the Byte object. hashCode()方法用于返回Byte对象的哈希码。 hashCode()…

CentOS7安装Hadoop2.7完整流程

2019独角兽企业重金招聘Python工程师标准>>> 1、环境&#xff0c;3台CentOS7&#xff0c;64位&#xff0c;Hadoop2.7需要64位Linux&#xff0c;CentOS7 Minimal的ISO文件只有600M&#xff0c;操作系统十几分钟就可以安装完成&#xff0c; Master 192.168.0.182 Slav…

获取外网IP地址API

1、获取外网IP地址 地址&#xff1a; http://pv.sohu.com/cityjson?ieutf-8 返回结果&#xff1a; var returnCitySN {"cip": "39.***.***.***", "cid": "370000", "cname": "山东省"};2、获取IP地址详细信…

如果不这样用,Nacos也有安全问题!

前言配置管理作为软件开发中重要的一环&#xff0c;肩负着连接 代码和环境的职责&#xff0c;能很好的分离开发人员和维护人员的关注点。Nacos 的配置管理功能就很好地满足了云原生应用对于配置管理的需求&#xff1a;既能做到配置和代码分离&#xff0c;也能做到配置的动态…

java中intvalue_Java Byte类intValue()方法的示例

java中intvalue字节类intValue()方法 (Byte class intValue() method) intValue() method is available in java.lang package. intValue()方法在java.lang包中可用。 intValue() method is used to return the value denoted by this Byte object converted to type int (by c…

python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑

python3.4学习笔记(八) Python第三方库安装与使用&#xff0c;包管理工具解惑 许多人在安装Python第三方库的时候, 经常会为一个问题困扰:到底应该下载什么格式的文件?当我们点开下载页时, 一般会看到以下几种格式的文件: msi, egg, whlmsi文件:Windows系统的安装包, 在Window…