1.  远程捕获

由于应用程序使用WinPcap的常规(normal)方式和推荐(suggested)方式是通过wpcap.dll完成的,所以我们不保证packet.dll的API不会在未来的WinPcap的发行版中被修改,并且我们不提供这个API的支持。由于这个原因,在这个指南中不会含有有关Packet.dll的文档。用户可以自行使用Doxygen来创建它们,或者阅读代码中的注释。

WinPcap拥有远程捕获的能力。这个高级特性能够捕获在远程网络上传输的数据包。

它需要一个远程后台程序(remotedaemon) (被称为rpcapd) ,它进行捕获然后把捕获到的数据发回。一个本地客户端会发送合适的命令并接收捕获到的数据。

WinPcap扩展了标准的WinPcap代码,这样,基于WinPcap的工具可以拥有远程捕获的能力。例如:远程后台程序被加入到客户软件中,我们并不需要另外修改,就能使程序拥有远程捕捉的能力。反之亦然,远程后台程序必须被安装(和配置)在远程机器上。

1.1.  远程捕获运行模式

远程捕获协议 (RPCAP) 可以在两种模式下工作:

1)  被动模式(PassiveMode) (默认): 客户机 (比如 a network sniffer) 连接到远程后台程序, 它发送一些合适的命令,并开始捕获。

2)  主动模式(ActiveMode): 远程后台程序试图连接到客户机 (比如 the network sniffer); 然后,客户机发送一些合适的命令,并开始捕获。 主动这个词的来历是因为远程后台程序 主动建立连接,而不是 等待 新的连接。

主动模式是有用的,除了当远程后台程序遇到了防火墙的阻止而不能访问外部网络时。在这种情况下,远程后台程序可以被配置成允许与已知的主机建立连接,而那个主机,只需要配置成等待连接即可。在连接建立完成之后,协议会继续自己的工作,这些工作在主动模式和被动模式下几乎是一样的。

Analyzer(http://analyzer.polito.it/30alpha/) 有一系列的命令 (在 Capture 菜单中) 。这些命令允许你接收一个远程连接,然后再远程设备上启动捕获。由于Analyzer需要一些代码上的修正,所以目前,它仅能工作在主动模式下。

1.2.  配置远程后台程序(rpcapd)

远程后台程序是一个标准的Win32可执行进程,它可以运行于受控模式或作为一个服务器。可执行进程可以在进入WinPcap文件夹后,使用下列语法找到它:

rpcapd [-b <address>] [-p<port>] [-6] [-l <host_list>] [-a <host,port>]

[-n] [-v] [-d] [-s <file>][-f <file>]

后台进程也可以在Linux平台上编译并运行

以下是可用命令的简要描述

-b<address>

设置所绑定的程序的地址 (数字或文字的都行)。默认情况下,它将绑定所有的本地IPv4和IPv6地址。

-p <port>

设置所绑定的程序的端口,默认为2002

-4

只绑定IPv4地址。默认:IPv4和IPv6被用于等待的sockets

-l<host_list_file>

它指明了一个包含允许程序连接的主机列表的文件(如果有多个,那么每行表示1个)。我们建议使用文字(而不是用数字)来描述,因为这样可以避免与IPv4或IPv6的地址发生误会。

-n

它允许 NULL 的认证 (通常和 '-l' 一起使用, 这样能保证只有被允许的主机才能连接到程序)。默认情况下,用于身份认证的用户名/密码是必须的。

-a <host,port>

它强制程序运行在主动模式下,并在port端口,与主机host建立连接。这个并不标明,后台程序就不能运行在被动模式下了。

-v

它强制程序只能运行于主动模式下。(默认情况:程序总是接受主动连接,即使指定了-a)

-d

强制程序在后台运行,例如,作为一个后台程序(仅Unix)或作为一个服务程序(仅Win32)。警告(Win32):当WinPcap将这个程序安装进了Win32的服务中时,这个交换是自动提供的。(控制面板->管理工具->服务)

-s <file>

把当前配置保存到文件

-f <file>

从文件中加在配置信息。所有由命令行参数指明的交换都将会被忽略,代替它的,是文件内的设置

-h

在屏幕上打印帮助信息

1.3.  安装远程后台程序

在安装WinPcap时,远程后台程序被自动安装。这个安装过程将rpcapd文件放入WinPcap文件夹中。这个文件可以用命令行方式执行,也可以作为一个服务。例如,安装过程更新了可用服务的列表,并创建了一个新的项目(远程数据包捕获协议 v.0 (试验中))。为了避免安全问题,服务是不激活的,它需要手工启动它。(控制面板->管理工具->服务->启动)

这个服务有一组 "标准" 的参数, 例如:使用"-d"标志和"-frpcapd.ini"标志启动(为了让它作为一个服务运行)。用户可以在与可执行进程相同的目录下,创建一个名为rpcapd.ini的文件,然后把配置命令放在里面。为了让服务执行这些命令,你需要重启服务。(初始化文件只会在开始运行的时候被揭西)。反之亦然,Unix版本的rpcapd在发送kill -HUP标志时,读取配置文件。在这种情况下,所有的已存在的连接都会保留原有配置,而新的连接则会根据新的配置参数创建。

万一用户不想手工创建配置文件,它可以使用加上了"-s filename"的请求参数来启动rpcapd。远程后台程序会解析所有的参数,并把它们保存到指定的配置文件中。

启动远程后台程序,作为一个标准执行进程

rpcapd可以直接启动,比如,它可以运行在前台(不作为后台程序或服务)。不走很简单,你需要从命令行启动程序,并输入所有必要的参数,除了"-d"标志。这样,捕获服务会在前台启动。

1.4.  在远程主机上启动捕获

如果你使用的工具已经知道如何进行远程捕获(比如Analyzer),那么一切都是简单的。捕获向导会帮助你在远程机器上建立合适的接口。

如果你喜欢那些还没有远程捕获功能的工具,你仍然可以进行远程捕获。在这里,你需要阅读下一节的内容。

特别小心: 捕获服务 (rpcapd)必须启动并在远程机器上运行。

用于选择接口的新字符串标识

如果你喜欢的工具还没有远程捕获功能,你必须做的唯一一件事,就是插入一个你想要连接的远程主机。可以使用以下形式:

适配器字符串

描述

file://filename

打开一个本地文件

rpcap://host.foo.bar/adaptername

打开一个远程适配器,host用文字来指明,没有端口号(即使用默认RPCAP端口)

rpcap://host.foo.bar:1234/adaptername

作用和上面的一样,只是指定了端口号

rpcap://10.11.12.13/adaptername

打开一个远程适配器,只是,主机由一个IPv4地址给出,没有端口号(使用RPCAP默认端口)

rpcap://10.11.12.13:1234/adaptername

作用和上面的一样,只是指定了端口号

rpcap://[10.11.12.13]:1234/adaptername

作用和上面的一样,只是将地址写入了方括号中,这样,更像是IPv6地址的表示方式

rpcap://[1:2:3::4]/adaptername

打开一个远程适配器,只是,主机由一个IPv6地址给出,没有端口号(使用RPCAP默认端口)。你必须使用方括号来表示一个IPv6地址。

rpcap://[1:2:3::4]:1234/adaptername

作用和上面的一样,只是指定了端口号

rpcap://adaptername

打开一个本地适配器,不使用RPCAP协议

adaptername

打开一个本地适配器,尽管它可行,但我们强烈不鼓励使用。

(NULL)

它将打开第一个本地适配器。尽管它是可行的,但我们强烈不鼓励使用。

以下形式是不对的:

适配器字符串

描述

rpcap://

它不能打开第一个本地适配器

rpcap://hostname/

它不能打开第一个本地适配器

1.5.  在UNIX上安装远程后台捕获程序

WinPcap程序同样可以在UNIX上进行编译。目前,远程捕获已经在Linux和BSD上经过了测试。你需要做的,有以下这些事情:

1)下载WinPcap源文件

2)解压缩源文件 ◦我们建议使用 unzip-a 命令来将DOS文件转换成UNIX的

3)转到 libpcap 文件夹

4)输入命令:

./configure

警告: 万一上一个步骤出现了错误,请使用automake(需要2.50以上版本)命令重新生成配置文件

make

1)  转到 rpcapd 文件夹

2)  输入 make

在默认情况下,远程捕获功能在Linux和FreeBSD上是打开的。万一你不想使用远程捕获功能,你可以在配置的时候,输入:

./configure --disable-remote

当你输入 ./configure--help,所有的可以使用的参数将列出来。

你刚刚已经得到了:

1)  一个库文件(libpcap.a), 它可以连接到其他应用程序 (比如 tcpdump) 以便为他开启远程捕获。

2) 一个远程的可执行程序 (rpcapd)

警告: 为了运行远程捕获程序(rpcapd daemon), 程序必须符合下列中的一条:

1) 以root权限运行 (或)

2) 以user身份运行,但它必须属于root,并且必须有SUIDroot (chmod u+s rpcapd)

1.6.  已知的BUG

FreeBSD: 你第一次调用pcap_stat()时,函数会过段时间才返回。因此,像Analyzer这样的程序,在开始捕捉的时候,会停滞20-30秒。 (if this is done with BSD as a remote probe). 我们正在调查并试图解决这个问题。

如有任何问题,请访问 WinPcap 的帮助页面。

转自:fan_hai_ping

WinPcap 中文技术文档(4.1.2)第五章相关推荐

  1. 【中文技术文档的写作规范_P03】如何书写标点符号和控制文档体系

    通过本文,你将了解到中文技术文档中标点符号和文档体系的写法. 文章目录 标点符号 原则 句号 逗号 顿号 分号 引号 括号 冒号 省略号 感叹号 破折号 连接号 文档体系 结构 文件名 标点符号 原则 ...

  2. 中文技术文档写作规范【转载】

    标题 层级 标题分为四级. 一级标题:文章的标题 二级标题:文章主要部分的大标题 三级标题:二级标题下面一级的小标题 四级标题:三级标题下面某一方面的小标题 原则 一级标题下,不能直接出现三级标题. ...

  3. SAP HANA中文技术文档(跟matinal学HANA)

    SAP HANA中文技术文档(跟matinal学HANA) 1.  点击进入:SAP XS HANA专栏 2.  点击进入:SAP UI5上传图片 用XSJS存储在HANA中的方法 3.  点击进入: ...

  4. virtualbox中文技术文档_随笔--西门子STEP7中如何寻找技术文档

    西门子STEP7软件支持的编程语言除了常用的LAD/FBD/STL,还有SCL/GRAPH等,应该说除了LAD/STL之外,SCL和GRAPH也是比较常用的,至少对我个人来说是这样,但是每种指令在不同 ...

  5. 中文技术文档的写作规范

    文章目录 一.标点符号 原则 句号 逗号 顿号 分号 引号 括号 冒号 省略号 感叹号 破折号 连接号 二.数值 半角数字 千分号 货币 数值范围 变化程度的表示法 三.段落 原则 引用 四.参考链接 ...

  6. 中文技术文档的写作规范-转{阮一峰}

    最近我们技术老大,让我自己写一份优秀的文档,我很少写这个,但是作为技术又不得不写,几经波折之后,找到了阮一峰大神的笔记,做了参考: 标题 层级 标题分为四级. 一级标题:文章的标题 二级标题:文章主要 ...

  7. JavaScript中文技术文档

    bytecode读写 ClassPool Class loader 自有和定制 Bytecode操控接口 Generics Varargs J2ME 装箱和拆箱 调试 bytecode读写 Javas ...

  8. mysql winpcap_WinPcap 中文技术文档(4.1.2) 第三章

    1.WinPcap教程:循序渐进教您使用WinPcap 本节将向您显示如何使用WinPcapAPI的一些特性.本教程被组织成一系列课程,以循序渐进的方式,让读者从最基本的部分(获得设备列表)到最复杂的 ...

  9. widget中文技术文档

    Version 3.1.1 版 2006 年 4 月 14 日   著作权 2002-2006 Yahoo! Inc. 保留所有权利   版本历史 第一次发行 第二次发行 第三次发行 第四次发行 第五 ...

最新文章

  1. 从世界数字大脑形成看元宇宙未来趋势
  2. 服务器信息采集协议,服务器信息采集
  3. 《Android深度探索(卷1):HAL与驱动开发》——6.4节使用多种方式测试Linux驱动...
  4. 台积电要造第一款7nm芯片 明年下半年可投产
  5. 模糊搜索神器FZF番外篇
  6. java人事考勤打卡小程序源码
  7. 【Java毕设项目】二十项毕设项目(附源码课件)
  8. Kindle退市,掌阅iReader或将接过电纸书市场大旗
  9. 【Algorithm】数学归纳法
  10. lg android tv遥控器,LG TV Remote遥控器
  11. 安装Office Visio 提示Office 16 Click-to-Run Extensibility Component
  12. 实现vue页面下载成word文档
  13. MongoDB 3.0 用户创建
  14. SpringBoot的Bean Definition 生成过程(源码分析)
  15. matlab(1):使用matlab处理excel数据进行画图
  16. dell远程控制卡的原理
  17. 刘强东的“强式”回归
  18. 财务福音。用Python+OCR人工智能识别发票自动存入Excel表格保姆级教程
  19. 注册的业务、登录业务、个人中心、nginx配置【VUE项目】
  20. Acrel-5010重点用能单位能耗在线监测系统在湖南三立集团的应用

热门文章

  1. 解决IDEA无法加载插件或者加载了插件下载超时的问题
  2. 计算机组装与拆解中容易混淆的知识点,教资干货 | 教资笔试中易混淆的知识点整合...
  3. 查询商品价格(Java)
  4. 转: 云计算openstack—云计算、大数据、人工智能
  5. 不升职还能加薪,美团5年首次职级大调整
  6. 航信 PNR解析详解
  7. thinkphp6 lib短信宝短信验证码封装
  8. 远程升级怕截胡?详解FOTA安全升级
  9. android fota升级 开发,android fota升级
  10. matlab自定义灰度变换,MATLAB实现基于灰度变换图像增强孙明朗140303006