热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

命令行下的抓包工具WinDump

Tcpdump是一款众人皆知和受人喜欢的基于命令行的网络数据包分析和嗅探工具。它能把匹配规则的数据包的包头给显示出来。你能使用这个工具去查找网络问题或者去监视网络上的状况。Windump是Tcpdump在Windows平台上的移植版。1、魅力所在Windump是Windows

  Tcpdump是一款众人皆知和受人喜欢的基于命令行的网络数据包分析和嗅探工具。它能把匹配规则的数据包的包头给显示出来。你能使用这个工具去查找网络问题或者去监视网络上的状况。Windump 是 Tcpdump 在 Windows 平台上的移植版。

  1、魅力所在

  Windump是Windows环境下一款经典的网络协议分析软件,其Unix版本名称为Tcpdump.它可以捕捉网络上两台电脑之间所有的数据包,供网络管理员/人侵分析员做进一步流童分析和人侵检测。在这种监视状态下,任何两台电脑之间都没有秘密可言,所有的流童、所有的数搪都逃不过你的眼睛(当然加密的数搪不在讨论范畴之内,而且,对数据包分析的结果依赖于你的TCP/IP知识和经验,不同水平的人得出的结果可能会大相径庭)。如果你做过DEBUG或者反汇编,你会发现二者是那么惊人的相似。在W.Richarri Stevens的鼎鼎大作《TCP/IP详解》卷一中,通篇采用Tcpduinp捕捉的数据包来向读者讲解TCP/IP; 而当年美国最出色的电脑安全专家下村勉在追捕 世界头号黑客米特尼克时,也使用了Tcpdump, Tcp。

  0K,我们正式开始介绍windump。该软件 是免费软件,命令行下面使用,需要WinPcap 驱动,该驱动可以在相关网站下载。

  2、应用实战

  现在我们打开一个命令提示符,运行 windump 后会出现 “windump: listening on \Device\NPF_{3B4C19BE-6A7E-4A20-9518-F7CA659886F3}M 的信息,这表示 win-riumr>正在监听当前网卡,网卡的设备名称 是:\Device\NPF」3BA C19BE-6A7E-4 A20-9518-F7CA659886F3},如果你看见屏幕上显示 出这个信息,说明你的winpcap驱动已经正常安装。如图所示:

  命令行下的网络数据包嗅探器WinDump

  Windump的参数很多,运行windump -h 可以看到:

  命令行下的网络数据包嗅探器WinDump

  命令行下的网络数据包嗅探器WinDump

  下面结合TCP的三步握手来介绍Windump 的使用,清接着往下看:

  命令行下的网络数据包嗅探器WinDump

  先看第一行。其中09:32:30.977290表 示时间,192.168.0.226为源IP地址,端 口 3295,其实就是我自己的那台电脑;

  192.168.0.10是目的地址,端口 80,我们可 以判断这是连接在远程主机的WEB服务上 面,S 9121 44276:912144276(0)表示我的电脑 主动发起了一个SYN请求,这是第一步握手; 912144276是请求端的初始序列号,win 64240 表示发端通告的窗口大小;mss 1460表示由发 端指明的最大报文段长度。这一行所表示的含 义是IP地址为192.168.0.226的电脑向IP地 址为61.133.136.34的电脑发起一个TCP的连 接请求。

  接下来我们看第二行,时间不说了;源 IP地址为192.168.0.10,而目的IP地址变为

  192.168.0.226,后面是 S 2733950406:2733 950406(0) ack 912144277,这是第二步握手, 2733950406是服务器端所给的初始序列号,ack 912144277是确认序号,是对第一行中客户端发 起请求的初始序列号加I。该行表示服务器端接 受客户端发起的TCP连接清求,并发出自己的 初始序列号。

  再看第三行,这是三步握手的最后一步,客户端发送ack 1,表示三步握手已经正常结束, 下面就可以传送数据了。如图所示:

  命令行下的网络数据包嗅探器WinDump

  在这个例子里面,我们使用了-n的参数,表示源地址和目的地址不采用主机名的形式显示而用IP地址的形式。

  下面跟系统之家再来看看如果三步握手不成功会是怎么样。我先telnet到一台没有开telnet服务的 计算机上面:

  命令行下的网络数据包嗅探器WinDump

  反馈的信息是“正在连接到192.168.0. 10...不能打开到主机的连接,在端口 23,由于目标机器积极拒绝,无法连接”,这个时候我们再看windump所抓获的数据包:

  命令行下的网络数据包嗅探器WinDump

  命令行下的网络数据包嗅探器WinDump

  从第三行中,我们可以看见192.168.0.226 因为不知道192.168.0.10的MAC地址,所以 首先发送ARP广播包。

  在第四行中,192.168.0.10回应192.168. 0.226 的请求,告诉 192.168.0.226 它的 MAC 地址是 0:60:8:92:e2:ci。

  第五行中,192.168.0.226 向 192.168.0.10

  发起SYN清求,但在第六行中,我们可以看见,因为目标主机拒绝了这一清求,故发送R 0:0(0) 的响应,表示不接受;192.168.0.226的请求。在 接下来的几行中我们看见192.168.0.226连续向 192.168.0.10发送SYN请求,但都被目标主机拒绝。

  Winciumr>的参数很多,功能也非常强大, 以上所介绍的仅仅是它冰山的一角,希望能起到 砖引玉的作用。也希望有更多的网络管理员能 关注协议分析,只有这样,我们才能在日常的网 络管理和应急时期的人侵分析中立于不败之地, 为我们的网络安全做出贡献。


推荐阅读
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 本文详细介绍了云服务器API接口的概念和作用,以及如何使用API接口管理云上资源和开发应用程序。通过创建实例API、调整实例配置API、关闭实例API和退还实例API等功能,可以实现云服务器的创建、配置修改和销毁等操作。对于想要学习云服务器API接口的人来说,本文提供了详细的入门指南和使用方法。如果想进一步了解相关知识或阅读更多相关文章,请关注编程笔记行业资讯频道。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 如何修改路由器密码?路由器登录密码和无线密码的修改方法
    本文介绍了修改路由器密码的两种方法:一是修改路由器登录口令,需要进入路由器后台进行操作;二是修改无线连接密码,通过进入路由器后台的无线设置和无线安全设置进行修改。详细步骤包括复位处理、登录路由器后台、选择系统工具、填入用户名和用户密码、保存修改等。 ... [详细]
  • 本文介绍了2019年上半年内蒙古计算机软考考试的报名通知和考试时间。考试报名时间为3月1日至3月23日,考试时间为2019年5月25日。考试分为高级、中级和初级三个级别,涵盖了多个专业资格。报名采取网上报名和网上缴费的方式进行,报考人员可登录内蒙古人事考试信息网进行报名。详细内容请点击查看。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • 本文介绍了作者在开发过程中遇到的问题,即播放框架内容安全策略设置不起作用的错误。作者通过使用编译时依赖注入的方式解决了这个问题,并分享了解决方案。文章详细描述了问题的出现情况、错误输出内容以及解决方案的具体步骤。如果你也遇到了类似的问题,本文可能对你有一定的参考价值。 ... [详细]
  • 本文介绍了Java高并发程序设计中线程安全的概念与synchronized关键字的使用。通过一个计数器的例子,演示了多线程同时对变量进行累加操作时可能出现的问题。最终值会小于预期的原因是因为两个线程同时对变量进行写入时,其中一个线程的结果会覆盖另一个线程的结果。为了解决这个问题,可以使用synchronized关键字来保证线程安全。 ... [详细]
author-avatar
2364118915_86406b_479
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有