zoukankan      html  css  js  c++  java
  • tcpdump + wireshark 抓包组合

    学习wireshark抓包随笔

    一、目标地址: 239.255.255.250

    239.255.255.250是多播地址,多见于路由器上开了UPnP服务,而这个服务会用SSDP(简单服务发现协议)就是用239.255.255.250的多播地址端口1900来发现UPnp服务,局域网内某台电脑上如果有UPnP服务,每隔一段时间这台机器就会向该多播地址宣告服务在网络上可取,而发送的方式就是基于UDP的HTTP多播方式。

     二、NPF驱动

    网络数据包过滤器(Netgroup Packet Filter,NPF)是Winpcap的核心部分,它是Winpcap完成困难工作的组件。它处理网络上传输的数据包,并且对用户级提供可捕获(capture)、发送(injection)和分析性能(analysis capabilities)。

    wireshark提示没有一个可以抓包的接口,这是由于win7 默认NPF服务是关闭的,需要以管理员的身份开启NPF这个服务,可以用管理员身份运行cmd,输入以下命令开启:
    net start npf

    开始->附件->cmd(右键点击,浏览到以管理员方式启动) ->命令net start npf

    按下windows徽标键->键盘输入cmd(此时注意按下徽标键后窗口下的搜索栏内会输入你键入的cmd),搜到cmd,->同时按下ctrl+shift+enter—>接下来的就是弹出的是否以管理员运行,一切OK了

    三、NPF和NDIS
    NDIS(Network Driver Interface Specification)是一个定义网络适配器(或者说成是管理网络适配器的驱动程序)与协议驱动(例如TCP/IP的实现)之间通信的规范。NDIS最主要的目的是作为一个允许协议驱动发送和接收网络(LAN或WAN)上的数据包而不必关心特定的适配器或特定的Win32操作系统的封装。

     四、过滤器

    过滤器很重要,它们可以帮助我们在庞杂的结果中迅速找到我们需要的信息。

    捕捉过滤器:用于决定将什么样的信息记录在捕捉结果中。需要在开始捕捉前设置。
    显示过滤器:在捕捉结果中进行详细查找。他们可以在得到捕捉结果后随意修改。

    那么我应该使用哪一种过滤器呢?

    两种过滤器的目的是不同的。
    捕捉过滤器是数据经过的第一层过滤器,它用于控制捕捉数据的数量,以避免产生过大的日志文件。
    显示过滤器是一种更为强大(复杂)的过滤器。它允许您在日志文件中迅速准确地找到所需要的记录。

    两种过滤器使用的语法是完全不同的。

    tcpdump 与wireshark

    Wireshark(以前是ethereal)是Windows下非常简单易用的抓包工具。但在Linux下很难找到一个好用的图形化抓包工具。
    还好有Tcpdump。我们可以用Tcpdump + Wireshark 的完美组合实现:在 Linux 里抓包,然后在Windows 里分析包。

    tcpdump tcp -i eth1 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 -w ./target.cap
    (1)tcp: ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型
    (2)-i eth1 : 只抓经过接口eth1的包
    (3)-t : 不显示时间戳
    (4)-s 0 : 抓取数据包时默认抓取长度为68字节。加上-S 0 后可以抓到完整的数据包
    (5)-c 100 : 只抓取100个数据包
    (6)dst port ! 22 : 不抓取目标端口是22的数据包
    (7)src net 192.168.1.0/24 : 数据包的源网络地址为192.168.1.0/24
    (8)-w ./target.cap : 保存成cap文件,方便用ethereal(即wireshark)分析

    参考:
    http://www.cnblogs.com/Jtianlin/p/4330723.html
    http://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html

  • 相关阅读:
    android动画(一)Interpolator
    android端手机测试体系 (转)
    Android的一些常用命令提示符(cmd)指令[转]
    五招避开银行小额账户管理费[转]
    WEB服务器、应用程序服务器、HTTP服务器区别[转]
    如何解决 “invalid resource directory name”, resource “crunch”[转]
    Eclipse中给jar包导入JavaDoc的方法
    rotium(无源码)获取控件较简单的办法
    基于Robotium框架的测试工程如何导入Robotium包的源码
    常用模块中函数的作用
  • 原文地址:https://www.cnblogs.com/ylnic/p/2020397.html
Copyright © 2011-2022 走看看