• 实际上,这个需求来自IT的监控,监控的根本目标是随时发现局域网内的非法DHCP服务器,以报警。

  • 实现的具体策略:找一台机器,每分钟跑一次cron,执行检查并在出错时报警(邮件或者短信)。具体的核心策略是:模拟广播DHCP DISCOVER包,在规定时间内给出DHCP REPLY的就是当前有效的DHCP服务器,假设我们局域网内唯一合法的DHCP是192.168.1.1,当给出REPLY的主机列表中没有 192.168.1.1或者又其他的主机回复时,那就报警。整个策略的关键问题其实就是模拟广播DHCP DISCOVER包,其他的问题都很容易做。

  • 前提,不得不说,对于网络编程和C的libnet等库的理解非常少,所以首选的做法不是编写程序,而是打算找一个现成的发包工具。当然,现在想来如果使用 Perl的库来做这件事情似乎也并不难,只不过还没打算用这个办法,事情就已经解决了 

  • 为了避免说明有误解,我先把自己的测试环境说明一下:

 OS CentOS 4.7 Tcpdump rpm tcpdump-3.8.2-12.el4_6.1 tcpdump version 3.8 libpcap version 0.8.3 Tcpreplay rpm tcpreplay-3.3.2-1.el4.rf tcpreplay version: 3.3.2 (build 2065) Copyright 2001-2008 by Aaron Turner Cache file supported: 04 Not compiled with libnet. Compiled against libpcap: 0.8.3 64 bit packet counters: enabled Verbose printing via tcpdump: disabled Packet editing: enabled Fragroute engine: enabled

DHCP扫盲

尝试过程

  • 首先我们需要了解自己发送的包应该长成什么样子,最直接的思路就是tcpdump或者wireshark(升级版ethereal) 抓l来看看

 shell> tcpdump -s0 -vv   eth0 -nn port 67  100  yfang.cap  shell> wireshark
  • 上面的命令是没有问题的,而在实验中开始没有加-s0参数,结果只截取到了一个不完整的包,导致后面replay失败。

  • 这里描述一下replay受挫详细过程

 root@S71[1]~15:28:04root@S71[1]~15:28:14sending out eth0 processing file: yfang.cap processing file: yfang.cap processing file: yfang.cap Actual: 3 packets (288 bytes) sent  0.23 seconds Rated: 12007.5 bps, 0.09 Mbps/sec, 125.08 pps Statistics  network device: eth0 Attempted packets: 3 Successful packets: 3 Failed packets: 0 Retried packets (ENOBUFS): 0 Retried packets (EAGAIN): 0 [root@S172 ~]tcpdump: verbose output suppressed, use  or -vv
  • 现在我们已经知道怎么抓包了,如何简单区分DHCP各个包的具体信息呢,其实这一点上我个人推荐使用wireshark来分析,他不单会帮你抓好包,还会标明DHCP的标志信息,比如是DISCOVER,REQUEST,ACK,OFFER 等等。不用自己去分析标志位。即便如此,这里还是为感兴趣的朋友列一下DHCP Massage Type 的区别

http://blog.csdn.net/lby8203xj/article/details/6552213

科来数据包播放器:http://www.colasoft.com.cn/download/capsa_tool_pktplayer.php

科来数据包生成器:http://www.colasoft.com.cn/download/packet-builder.php

本文转自 stock0991 51CTO博客,原文链接:http://blog.51cto.com/qing0991/1885112

Tcpdump配合Tcpreplay回放实现网络探测相关推荐

  1. Linux centos7 NMAP网络探测工具安装过程以及使用示例!

    NMAP网络探测工具 1.nmap安装 RZ上传! 解压: tar jxvf nmap-7.60.tar.bz2 配置: ./configure 出现了一个小火龙! 编译: make 再安装gcc-c ...

  2. 10.21 nmap:网络探测工具和安全/端口扫描器

    nmap命令 是一款开放源代码的网络探测和安全审核工具,是Network Mapper的缩写.其设计目标是快速地扫描大型网络.nmap可以发现网络上有哪些主机,主机提供了什么服务(应用程序名称和版本号 ...

  3. 排错-tcpreplay回放错误:send() [218] Message too long (errno = 90)

    排错-tcpreplay回放错误:send() [218] Message too long (errno = 90) by:授客 QQ:1033553122 问题描述: tcpreplay回放.pc ...

  4. HCIE-Security Day41:理论学习:信息收集与网络探测

    ​​​​​​​ 信息收集 目的 攻击者无法攻击一个他一无所知的网络,所以网络攻击的第一步就是目标网络的信息收集. 信息收集帮助攻击者决定用什么方式展开攻击. 方法 互联网搜索.社会工程等. 从高度碎片 ...

  5. 网络探测和诊断工具 - mtr

    概述 最近研究 traceroute 和 mtr 主要是网络监控的需要,需要通过这些工具探测出整个公司的网络拓扑和端到端之间的网络状况. 一般情况,我们使用ping,traceroute,nslook ...

  6. 即构SDK5月迭代:新增声道选择、网络探测、智能消噪等功能,打造更优的视听体验

    即构SDK5月份的迭代更新如期而至,本月互动视频(LiveRoom).实时语音(AudioRoom)两大SDK以及录制插件(PlayRecord)均有新功能上线.新增的声道选择.变调控制.智能消噪.枚 ...

  7. 网络安全nmap扫描端口命令详解linux网络探测

    简介: nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端.确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting).它是网络管理员必用的 ...

  8. 利用Kismet进行无线网络探测

    Kismet 是一款工作在 802.11 协议第二层的无线网络检测.嗅探.干扰工具,是一个基于Linux的无线网络扫描程序.它可以工作在支持raw 监控模式的所有无线网卡上.虽说Kismet也可以捕获 ...

  9. 【内部网络扫描仪,网络探测框架】

    scanner_framework 中文: 网络探测框架,适用于入侵到内网探测其它网络设备,探测器具有体积小,功能多,而且带有反向连接从内网穿透出外网连接控制终端,通信数据采用动态加密,再也不怕警察叔 ...

最新文章

  1. Python网络_TCP/IP简介
  2. 佛缘——宝华山隆昌寺之行
  3. redis和kafka读取代码
  4. 自制“低奢内”CSS3登入表单,包含JS验证,请别嫌弃哦。
  5. 链式队列的实现(头文件及源程序)
  6. 漫步最优化四十五——矩阵S的生成
  7. pydev导入eclipse
  8. [存档]获取通讯录信息并写到SD卡上
  9. 原python最简单的图形编程_Python(简单图形和文件处理)编程
  10. w我的世界pe开服器php7,我的世界手机自主开启PE服务器教程
  11. ADO.NET2.0 Querying Large Result Sets Asynchronously(ADO.NET 异步操作)
  12. 从php的生命周期来优化页面响应时间
  13. python抓取微信公众号文章_如何使用python3抓取微信公众号文章,了解一下?
  14. 《大型网站技术架构》学习笔记
  15. 操作系统多道程序设计和分时---笔记02
  16. 自适应滤波器(Adaptive Filter)(1)--简介
  17. 京瓷1125打印机清零_京瓷1125驱动下载
  18. 2020ICPC 昆明热身赛 C.Statues(小思维)
  19. 使用大白菜装win10系统的常见问题解决方案
  20. VBA:MsgBox函数

热门文章

  1. 面向对象分析和设计的几个关键步骤_(豁然开朗)《面向对象分析与设计》读书笔记 (4)- 分类...
  2. python安装选项_python设置执行选项参数
  3. kernel 自定义字符驱动 第一次实验
  4. TCP UDP 协议深度解析 (未完待续)
  5. FPGA之道(44)HDL中的隐患写法
  6. 环形、扭环、LFSR计数器
  7. 如何高效的编写Verlog HDL——菜鸟版
  8. 【 FPGA 】抢占式优先级译码器电路
  9. 【教程】TestComplete测试桌面应用程序教程(四)
  10. RabbitMQ的应用场景以及基本原理介绍