WinPcap 中文技术文档(4.1.2)第五章
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)第五章相关推荐
- 【中文技术文档的写作规范_P03】如何书写标点符号和控制文档体系
通过本文,你将了解到中文技术文档中标点符号和文档体系的写法. 文章目录 标点符号 原则 句号 逗号 顿号 分号 引号 括号 冒号 省略号 感叹号 破折号 连接号 文档体系 结构 文件名 标点符号 原则 ...
- 中文技术文档写作规范【转载】
标题 层级 标题分为四级. 一级标题:文章的标题 二级标题:文章主要部分的大标题 三级标题:二级标题下面一级的小标题 四级标题:三级标题下面某一方面的小标题 原则 一级标题下,不能直接出现三级标题. ...
- SAP HANA中文技术文档(跟matinal学HANA)
SAP HANA中文技术文档(跟matinal学HANA) 1. 点击进入:SAP XS HANA专栏 2. 点击进入:SAP UI5上传图片 用XSJS存储在HANA中的方法 3. 点击进入: ...
- virtualbox中文技术文档_随笔--西门子STEP7中如何寻找技术文档
西门子STEP7软件支持的编程语言除了常用的LAD/FBD/STL,还有SCL/GRAPH等,应该说除了LAD/STL之外,SCL和GRAPH也是比较常用的,至少对我个人来说是这样,但是每种指令在不同 ...
- 中文技术文档的写作规范
文章目录 一.标点符号 原则 句号 逗号 顿号 分号 引号 括号 冒号 省略号 感叹号 破折号 连接号 二.数值 半角数字 千分号 货币 数值范围 变化程度的表示法 三.段落 原则 引用 四.参考链接 ...
- 中文技术文档的写作规范-转{阮一峰}
最近我们技术老大,让我自己写一份优秀的文档,我很少写这个,但是作为技术又不得不写,几经波折之后,找到了阮一峰大神的笔记,做了参考: 标题 层级 标题分为四级. 一级标题:文章的标题 二级标题:文章主要 ...
- JavaScript中文技术文档
bytecode读写 ClassPool Class loader 自有和定制 Bytecode操控接口 Generics Varargs J2ME 装箱和拆箱 调试 bytecode读写 Javas ...
- mysql winpcap_WinPcap 中文技术文档(4.1.2) 第三章
1.WinPcap教程:循序渐进教您使用WinPcap 本节将向您显示如何使用WinPcapAPI的一些特性.本教程被组织成一系列课程,以循序渐进的方式,让读者从最基本的部分(获得设备列表)到最复杂的 ...
- widget中文技术文档
Version 3.1.1 版 2006 年 4 月 14 日 著作权 2002-2006 Yahoo! Inc. 保留所有权利 版本历史 第一次发行 第二次发行 第三次发行 第四次发行 第五 ...
最新文章
- 从世界数字大脑形成看元宇宙未来趋势
- 服务器信息采集协议,服务器信息采集
- 《Android深度探索(卷1):HAL与驱动开发》——6.4节使用多种方式测试Linux驱动...
- 台积电要造第一款7nm芯片 明年下半年可投产
- 模糊搜索神器FZF番外篇
- java人事考勤打卡小程序源码
- 【Java毕设项目】二十项毕设项目(附源码课件)
- Kindle退市,掌阅iReader或将接过电纸书市场大旗
- 【Algorithm】数学归纳法
- lg android tv遥控器,LG TV Remote遥控器
- 安装Office Visio 提示Office 16 Click-to-Run Extensibility Component
- 实现vue页面下载成word文档
- MongoDB 3.0 用户创建
- SpringBoot的Bean Definition 生成过程(源码分析)
- matlab(1):使用matlab处理excel数据进行画图
- dell远程控制卡的原理
- 刘强东的“强式”回归
- 财务福音。用Python+OCR人工智能识别发票自动存入Excel表格保姆级教程
- 注册的业务、登录业务、个人中心、nginx配置【VUE项目】
- Acrel-5010重点用能单位能耗在线监测系统在湖南三立集团的应用
热门文章
- 解决IDEA无法加载插件或者加载了插件下载超时的问题
- 计算机组装与拆解中容易混淆的知识点,教资干货 | 教资笔试中易混淆的知识点整合...
- 查询商品价格(Java)
- 转: 云计算openstack—云计算、大数据、人工智能
- 不升职还能加薪,美团5年首次职级大调整
- 航信 PNR解析详解
- thinkphp6 lib短信宝短信验证码封装
- 远程升级怕截胡?详解FOTA安全升级
- android fota升级 开发,android fota升级
- matlab自定义灰度变换,MATLAB实现基于灰度变换图像增强孙明朗140303006