⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wpcap__remote_8htm-source.html

📁 WinPcap V4.01技术手册
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>WinPcap: wpcap_remote.htm Source File</title><link href="style.css" rel="stylesheet" type="text/css"><link href="tabs.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.5.1 --><div class="tabs">  <ul>    <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>    <li><a href="modules.html"><span>Modules</span></a></li>    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>    <li id="current"><a href="files.html"><span>Files</span></a></li>    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>  </ul></div><div class="tabs">  <ul>    <li><a href="files.html"><span>File&nbsp;List</span></a></li>    <li><a href="globals.html"><span>Globals</span></a></li>  </ul></div><h1>wpcap_remote.htm</h1><a href="wpcap__remote_8htm.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 &lt;html&gt;<a name="l00002"></a>00002 <a name="l00003"></a>00003 &lt;head&gt;<a name="l00004"></a>00004 &lt;meta http-equiv=<span class="stringliteral">"Content-Type"</span> content=<span class="stringliteral">"text/html; charset=windows-1252"</span>&gt;<a name="l00005"></a>00005 &lt;meta name=<span class="stringliteral">"GENERATOR"</span> content=<span class="stringliteral">"Microsoft FrontPage 4.0"</span>&gt;<a name="l00006"></a>00006 &lt;meta name=<span class="stringliteral">"ProgId"</span> content=<span class="stringliteral">"FrontPage.Editor.Document"</span>&gt;<a name="l00007"></a>00007 &lt;title&gt;Using WinPcap Remote Capture&lt;/title&gt;<a name="l00008"></a>00008 &lt;/head&gt;<a name="l00009"></a>00009 <a name="l00010"></a>00010 &lt;body&gt;<a name="l00011"></a>00011 <a name="l00012"></a>00012 &lt;hr&gt;<a name="l00013"></a>00013 &lt;ul&gt;<a name="l00014"></a>00014   &lt;li&gt;&lt;a href=<span class="stringliteral">"#RunningModes"</span>&gt;Remote Capture Running Modes&lt;/a&gt;&lt;/li&gt;<a name="l00015"></a>00015   &lt;li&gt;&lt;a href=<span class="stringliteral">"#Config"</span>&gt;Configuring the Remote <a class="code" href="wpcap__remote_8htm.html#258f021c7879aa3b45bdf4d6e922d4f1">Daemon</a> (rpcapd)&lt;/a&gt;&lt;/li&gt;<a name="l00016"></a>00016   &lt;li&gt;&lt;a href=<span class="stringliteral">"#StartCap"</span>&gt;Starting a capture on a remote machine&lt;/a&gt;&lt;/li&gt;<a name="l00017"></a>00017   &lt;li&gt;&lt;a href=<span class="stringliteral">"#UNIX"</span>&gt;Installing the Remote Capture <a class="code" href="wpcap__remote_8htm.html#258f021c7879aa3b45bdf4d6e922d4f1">Daemon</a> in UNIX&lt;/a&gt;&lt;/li&gt;<a name="l00018"></a>00018 &lt;/ul&gt;<a name="l00019"></a>00019 &lt;hr&gt;<a name="l00020"></a>00020 &lt;p&gt;WinPcap comes with Remote Capture capabilities. This is an highly<a name="l00021"></a>00021 experimental feature that allows to interact to a remote machine and capture<a name="l00022"></a>00022 packets that are being transmitted on the remote network.&lt;/p&gt;<a name="l00023"></a>00023 &lt;p&gt;This requires a &lt;b&gt;remote daemon &lt;/b&gt;(called &lt;code&gt;rpcapd&lt;/code&gt;) which<a name="l00024"></a>00024 performs the capture and sends data back and a &lt;b&gt;local client &lt;/b&gt;that sends<a name="l00025"></a>00025 the appropriate commands and receives the captured data.&lt;/p&gt;<a name="l00026"></a>00026 &lt;p&gt;WinPcap extends the standard WinPcap code in such a way that all<a name="l00027"></a>00027 WinPcap-based tools can expoit remote capture capabilities. For instance, the<a name="l00028"></a>00028 capabillity to interact with a remote daemon are added to the client software<a name="l00029"></a>00029 without any <span class="keyword">explicit</span> modification to it. Vice versa, the remote daemon must be<a name="l00030"></a>00030 explicitely installed (and configured) on the remote machine.&lt;/p&gt;<a name="l00031"></a>00031 &lt;h2&gt;&lt;a name=<span class="stringliteral">"RunningModes"</span>&gt;&lt;/a&gt;Remote Capture Running Modes&lt;/h2&gt;<a name="l00032"></a>00032 &lt;p&gt;The Remote Capture Protocol (RPCAP) can work in two modes:&lt;/p&gt;<a name="l00033"></a>00033 &lt;ul&gt;<a name="l00034"></a>00034   &lt;li&gt;&lt;b&gt;Passive Mode&lt;/b&gt; (default): the client (e.g. a network sniffer)<a name="l00035"></a>00035     connects to the remote daemon, it sends them the appropriate commands, and<a name="l00036"></a>00036     it starts the capture.&lt;/li&gt;<a name="l00037"></a>00037   &lt;li&gt;&lt;b&gt;Active Mode&lt;/b&gt;: the remote daemon try to establish a <a class="code" href="wpcap__remote_8htm.html#9626e8afe69dfeee0e9d7a2477dedf52">connection</a> toward<a name="l00038"></a><a class="code" href="wpcap__remote_8htm.html#751ff7ed91d2e43008930137c9fa6925">00038</a>     the client (e.g. the network sniffer); <a class="code" href="wpcap__remote_8htm.html#751ff7ed91d2e43008930137c9fa6925">then</a>, the client sends the<a name="l00039"></a>00039     appropriate commands to the daemon and it starts the capture. This name is<a name="l00040"></a>00040     due to the fact thet the daemon becomes &lt;i&gt;active&lt;/i&gt; instead of &lt;i&gt;waiting&lt;/i&gt;<a name="l00041"></a>00041     for new connections.&lt;/li&gt;<a name="l00042"></a>00042 &lt;/ul&gt;<a name="l00043"></a>00043 &lt;p&gt;The Active Mode is useful in <a class="code" href="wpcap__remote_8htm.html#0b27a0048ba88eaf6d523bcc6c6ef00e">case</a> the remote daemon is behind a firewall and<a name="l00044"></a>00044 it cannot receive connections from the external world. In this <a class="code" href="wpcap__remote_8htm.html#0b27a0048ba88eaf6d523bcc6c6ef00e">case</a>, the daemon<a name="l00045"></a>00045 can be configured to establish the <a class="code" href="wpcap__remote_8htm.html#9626e8afe69dfeee0e9d7a2477dedf52">connection</a> to a given <a class="code" href="wpcap__remote_8htm.html#3c46d79c790748a5942fb43baa6b3073">host</a>, which will have<a name="l00046"></a>00046 been configured in order to &lt;i&gt;wait&lt;/i&gt; for that <a class="code" href="wpcap__remote_8htm.html#9626e8afe69dfeee0e9d7a2477dedf52">connection</a>. After establishing<a name="l00047"></a>00047 the <a class="code" href="wpcap__remote_8htm.html#9626e8afe69dfeee0e9d7a2477dedf52">connection</a>, the protocol continues its job in almost the same way in both<a name="l00048"></a>00048 Active and Passive Mode.&lt;/p&gt;<a name="l00049"></a>00049 &lt;p&gt;Analyzer (&lt;a href="http:<span class="comment">//analyzer.polito.it/30alpha/"&gt;http://analyzer.polito.it/30alpha/&lt;/a&gt;)</span><a name="l00050"></a>00050 has a set of commands (in the &lt;b&gt;Capture&lt;/b&gt; menu) that allows you to accept a<a name="l00051"></a>00051 remote connection and <a class="code" href="wpcap__remote_8htm.html#751ff7ed91d2e43008930137c9fa6925">then</a> start the capture on the remote device. Currently,<a name="l00052"></a>00052 Analyzer is the only tool that is able to work in active mode, since it requires<a name="l00053"></a>00053 some modifications to the application code.&lt;/p&gt;<a name="l00054"></a>00054 &lt;h2&gt;&lt;a name="Config"&gt;&lt;/a&gt;Configuring the Remote <a class="code" href="wpcap__remote_8htm.html#258f021c7879aa3b45bdf4d6e922d4f1">Daemon</a> (rpcapd)&lt;/h2&gt;<a name="l00055"></a>00055 &lt;p&gt;The Remote <a class="code" href="wpcap__remote_8htm.html#258f021c7879aa3b45bdf4d6e922d4f1">Daemon</a> is a standard Win32 executable running either in console<a name="l00056"></a>00056 mode or as a service. The executable can be found in the &lt;code&gt;WinPcap&lt;/code&gt;<a name="l00057"></a>00057 folder and it has the following syntax:&lt;/p&gt;<a name="l00058"></a>00058 &lt;pre&gt;        rpcapd [-b &amp;lt;address&amp;gt;] [-p &amp;lt;port&amp;gt;] [-6] [-l &amp;lt;host_list&amp;gt;] [-a &amp;lt;host,port&amp;gt;] <a name="l00059"></a>00059                [-n] [-v] [-d] [-s &amp;lt;file&amp;gt;] [-f &amp;lt;file&amp;gt;]&lt;/pre&gt;<a name="l00060"></a>00060 &lt;p&gt;The daemon can be compiled and it is actually working on Linux as well.&lt;/p&gt;<a name="l00061"></a>00061 &lt;p&gt;Here there is a brief description of the allowed commands:&lt;/p&gt;<a name="l00062"></a>00062 &lt;div align="left"&gt;<a name="l00063"></a>00063   &lt;table border="1"&gt;<a name="l00064"></a>00064     &lt;tr&gt;<a name="l00065"></a>00065       &lt;th&gt;Switch&lt;/th&gt;<a name="l00066"></a>00066       &lt;th&gt;Description&lt;/th&gt;<a name="l00067"></a>00067     &lt;/tr&gt;<a name="l00068"></a>00068     &lt;tr&gt;<a name="l00069"></a>00069       &lt;td&gt;<a name="l00070"></a>00070         &lt;pre&gt;-b &amp;lt;address&amp;gt;&lt;/pre&gt;<a name="l00071"></a>00071       &lt;/td&gt;<a name="l00072"></a>00072       &lt;td&gt;It sets the address the daemon has to bind to (either numeric or<a name="l00073"></a>00073         literal). Default: it binds to all local IPv4 and IPv6 addresses.&lt;/td&gt;<a name="l00074"></a>00074     &lt;/tr&gt;<a name="l00075"></a>00075     &lt;tr&gt;<a name="l00076"></a>00076       &lt;td&gt;<a name="l00077"></a>00077         &lt;pre&gt;-p &amp;lt;port&amp;gt;&lt;/pre&gt;<a name="l00078"></a>00078       &lt;/td&gt;<a name="l00079"></a>00079       &lt;td&gt;It sets the port the daemon has to bind to. Default: it binds to port<a name="l00080"></a>00080         2002.&lt;/td&gt;<a name="l00081"></a>00081     &lt;/tr&gt;<a name="l00082"></a>00082     &lt;tr&gt;<a name="l00083"></a>00083       &lt;td&gt;<a name="l00084"></a>00084         &lt;pre&gt;-4&lt;/pre&gt;<a name="l00085"></a>00085       &lt;/td&gt;<a name="l00086"></a>00086       &lt;td&gt;It binds only to IPv4 addresses. Default: both IPv4 and IPv6 waiting<a name="l00087"></a>00087         sockets are used.&lt;/td&gt;<a name="l00088"></a>00088     &lt;/tr&gt;<a name="l00089"></a>00089     &lt;tr&gt;<a name="l00090"></a>00090       &lt;td&gt;<a name="l00091"></a>00091         &lt;pre&gt;-l &amp;lt;host_list_file&amp;gt;&lt;/pre&gt;<a name="l00092"></a>00092       &lt;/td&gt;<a name="l00093"></a>00093       &lt;td&gt;It specifies a file that keeps the list of the hosts which are allowed<a name="l00094"></a>00094         to connect to this daemon (if more than one, the file keeps them one per<a name="l00095"></a>00095         line). We suggest to use literal names (instead of numeric ones) in<a name="l00096"></a>00096         order to avoid problems with different address families (IPv4 and IPv6).&lt;/td&gt;<a name="l00097"></a>00097     &lt;/tr&gt;<a name="l00098"></a>00098     &lt;tr&gt;<a name="l00099"></a>00099       &lt;td&gt;<a name="l00100"></a>00100         &lt;pre&gt;-n&lt;/pre&gt;<a name="l00101"></a>00101       &lt;/td&gt;<a name="l00102"></a>00102       &lt;td&gt;It permits NULL authentication (usually used with '-l', that<a name="l00103"></a>00103         guarantees that only the allowed hosts can connect to the daemon).<a name="l00104"></a>00104         Default: the username/password authentication mechanism is required.&lt;/td&gt;<a name="l00105"></a>00105     &lt;/tr&gt;<a name="l00106"></a>00106     &lt;tr&gt;<a name="l00107"></a>00107       &lt;td&gt;<a name="l00108"></a>00108         &lt;pre&gt;-a &amp;lt;host, port&amp;gt;&lt;/pre&gt;<a name="l00109"></a>00109       &lt;/td&gt;<a name="l00110"></a>00110       &lt;td&gt;It forces the daemon to run in active mode and to connect to 'host' on<a name="l00111"></a>00111         port 'port'. This does not exclude that the daemon is still able to<a name="l00112"></a>00112         accept passive connections.&lt;/td&gt;<a name="l00113"></a>00113     &lt;/tr&gt;<a name="l00114"></a>00114     &lt;tr&gt;<a name="l00115"></a>00115       &lt;td&gt;<a name="l00116"></a>00116         &lt;pre&gt;-v&lt;/pre&gt;<a name="l00117"></a>00117       &lt;/td&gt;<a name="l00118"></a>00118       &lt;td&gt;It forces the daemon to run in active mode only (default: the daemon<a name="l00119"></a>00119         always accepts active connections, even if the '-a' switch is<a name="l00120"></a>00120         specified).&lt;/td&gt;<a name="l00121"></a>00121     &lt;/tr&gt;<a name="l00122"></a>00122     &lt;tr&gt;<a name="l00123"></a>00123       &lt;td&gt;<a name="l00124"></a>00124         &lt;pre&gt;-d&lt;/pre&gt;<a name="l00125"></a>00125       &lt;/td&gt;<a name="l00126"></a>00126       &lt;td&gt;Forces the daemon to run in background, i.e. as a daemon (UNIX only)<a name="l00127"></a>00127         or as a service (Win32 only). &lt;b&gt;Warning&lt;/b&gt; (Win32): this switch is<a name="l00128"></a>00128         provided automatically when WinPcap installs this daemon into the Win32<a name="l00129"></a>00129         services (control panel - administrative tools - services).&lt;/td&gt;<a name="l00130"></a>00130     &lt;/tr&gt;<a name="l00131"></a>00131     &lt;tr&gt;<a name="l00132"></a>00132       &lt;td&gt;<a name="l00133"></a>00133         &lt;pre&gt;-s &amp;lt;file&amp;gt;&lt;/pre&gt;<a name="l00134"></a>00134       &lt;/td&gt;<a name="l00135"></a>00135       &lt;td&gt;It saves the current configuration to file.&lt;/td&gt;<a name="l00136"></a>00136     &lt;/tr&gt;<a name="l00137"></a>00137     &lt;tr&gt;<a name="l00138"></a>00138       &lt;td&gt;<a name="l00139"></a>00139         &lt;pre&gt;-f &amp;lt;file&amp;gt;&lt;/pre&gt;<a name="l00140"></a>00140       &lt;/td&gt;<a name="l00141"></a>00141       &lt;td&gt;It loads the current configuration from file; all the switches<a name="l00142"></a>00142         specified from the command line are ignored and the file settings are<a name="l00143"></a>00143         used instead.&lt;/td&gt;<a name="l00144"></a>00144     &lt;/tr&gt;<a name="l00145"></a>00145     &lt;tr&gt;<a name="l00146"></a>00146       &lt;td&gt;<a name="l00147"></a>00147         &lt;pre&gt;-h&lt;/pre&gt;<a name="l00148"></a>00148       &lt;/td&gt;<a name="l00149"></a>00149       &lt;td&gt;It prints an help screen.&lt;/td&gt;<a name="l00150"></a>00150     &lt;/tr&gt;<a name="l00151"></a>00151   &lt;/table&gt;<a name="l00152"></a>00152 &lt;/div&gt;<a name="l00153"></a>00153 &lt;h3&gt;Installing the remote daemon&lt;/h3&gt;<a name="l00154"></a>00154 &lt;p&gt;The remote daemon is installed automatically when installing WinPcap. The<a name="l00155"></a>00155 installation process places the &lt;code&gt;rpcapd&lt;/code&gt; file into the &lt;code&gt;WinPcap&lt;/code&gt;<a name="l00156"></a>00156 folder. This file can be executed either from the command line, or as a service.<a name="l00157"></a>00157 For instance, the installation process updates the list of available services<a name="l00158"></a>00158 list and it creates a new item (&lt;b&gt;Remote Packet Capture Protocol v.0<a name="l00159"></a>00159 (experimental)&lt;/b&gt; ). To avoid security problems, the service is inactive and it<a name="l00160"></a>00160 has to be started manually (control panel - administrative tools - services -<a name="l00161"></a>00161 start).&lt;/p&gt;<a name="l00162"></a>00162 &lt;p&gt;The service has a set of &amp;quot;standard&amp;quot; parameters, i.e. it it launched<a name="l00163"></a>00163 with the &amp;quot;&lt;code&gt;-d&lt;/code&gt;&amp;quot; flag (in orde to make it running as a<a name="l00164"></a>00164 service) and the &amp;quot;&lt;code&gt;-f rpcapd.ini&lt;/code&gt;&amp;quot; flag. The user can<a name="l00165"></a>00165 create a file called &lt;code&gt;rpcapd.ini&lt;/code&gt; in the same folder of the<a name="l00166"></a>00166 executable, and put the configuration commands in there. In order for the<a name="l00167"></a>00167 service to execute the commands, you have to stop and restart it again (i.e. the<a name="l00168"></a>00168 initialization file is parsed only at the beginning). Viceversa, the UNIX

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -