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

📄 arpsend_8h.html

📁 发送ARP包的控制台程序
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=gb2312"><title>arpsend: arpsend.h文件参考</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- 制作者 Doxygen 1.3.9.1 --><div class="qindex"><a class="qindex" href="index.html">首页</a> | <a class="qindex" href="namespaces.html">名字空间列表</a> | <a class="qindex" href="annotated.html">组合类型列表</a> | <a class="qindex" href="files.html">文件列表</a> | <a class="qindex" href="functions.html">组合类型成员</a> | <a class="qindex" href="globals.html">文件成员</a></div><h1>arpsend.h文件参考</h1><code>#include "resource.h"</code><br><p><a href="arpsend_8h-source.html">浏览该文件的源代码。</a><table border="0" cellpadding="0" cellspacing="0"><tr><td></td></tr><tr><td colspan="2"><br><h2>组合类型</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_t_l_header.html">TLHeader</a></td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">以太网传输层头结构.  <a href="struct_t_l_header.html#_details">更多...</a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_pack_data.html">PackData</a></td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">以太网数据包结构.  <a href="struct_pack_data.html#_details">更多...</a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_r_p_packet.html">ARPPacket</a></td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">arp数据包结构  <a href="struct_a_r_p_packet.html#_details">更多...</a><br></td></tr><tr><td colspan="2"><br><h2>函数</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="arpsend_8h.html#a1">arpsend</a> ()</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">arp数据包 发送一个arp数据包  <a href="#a1"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="arpsend_8h.html#a2">strtoaddr</a> (const LPSTR str, unsigned char *add)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">将字符类型的数据转化为6byte16进制地址  <a href="#a2"></a><br></td></tr><tr><td colspan="2"><br><h2>变量</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="struct_a_r_p_packet.html">ARPPacket</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="arpsend_8h.html#a0">arpPacket</a></td></tr></table><hr><h2>函数文档</h2><a class="anchor" name="a1" doxytag="arpsend.h::arpsend"></a><p><table class="mdTable" width="100%" cellpadding="2" cellspacing="0">  <tr>    <td class="mdRow">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top">bool arpsend           </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="mdname1" valign="top" nowrap>          </td>          <td class="md" valign="top">&nbsp;)&nbsp;</td>          <td class="md" nowrap></td>        </tr>      </table>    </td>  </tr></table><table cellspacing="5" cellpadding="0" border="0">  <tr>    <td>      &nbsp;    </td>    <td><p>arp数据包 发送一个arp数据包 <p><dl compact><dt><b>返回:</b></dt><dd>成功发送时返回为真 </dd></dl><div class="fragment"><pre class="fragment">00051 {00052         LPADAPTER  lpAdapter;             <span class="comment">//指向网卡设备的指针</span>00053     LPPACKET   lpPacket;              <span class="comment">//指向数据包结构的指针</span>00054     <span class="keywordtype">char</span> AdapterName[8192];           <span class="comment">//存储网卡名的数组</span>00055         <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>   AdapterLength;    <span class="comment">//网卡名数组的长度</span>00056         AdapterLength = <span class="keyword">sizeof</span>(AdapterName);00057 00058         <span class="keywordflow">if</span>(PacketGetAdapterNames(AdapterName,&amp;AdapterLength)==FALSE)  <span class="comment">//获取网卡设备名</span>00059         {00060                 cout&lt;&lt;<span class="stringliteral">"无法获得网卡名"</span>&lt;&lt;endl;00061                 <span class="keywordflow">return</span> 0;00062         }00063         00064         lpAdapter = PacketOpenAdapter(AdapterName);                  <span class="comment">//打开网卡设备</span>00065         <span class="keywordflow">if</span> (!lpAdapter || (lpAdapter-&gt;hFile == INVALID_HANDLE_VALUE))<span class="comment">//无法打开设备,失败返回</span>00066         {00067                   cout&lt;&lt;<span class="stringliteral">"无法打开网卡驱动"</span>&lt;&lt;endl;00068                   <span class="keywordflow">return</span> 0;00069          }00070         00071         <span class="keywordflow">if</span>((lpPacket = PacketAllocatePacket())==NULL)                <span class="comment">//为数据包结构分配内存</span>00072         {00073                   cout&lt;&lt;<span class="stringliteral">"无法给PACKET结构指针分配内存"</span>&lt;&lt;endl;00074                   <span class="keywordflow">return</span> 0;00075          }00076           00077          PacketInitPacket(lpPacket, &amp;arpPacket, <span class="keyword">sizeof</span>(arpPacket));  <span class="comment">//使用自定义的结构ARPPacket初始化数据包结构</span>00078          00079          <span class="keywordflow">if</span>(PacketSetNumWrites(lpAdapter,1)==FALSE)                  <span class="comment">//设置每次发送的数据包数目为1</span>00080          {00081                  cout&lt;&lt;<span class="stringliteral">"无法设置发送包的数目"</span>&lt;&lt;endl;00082                  <span class="keywordflow">return</span> 0;00083          }00084          00085          <span class="keywordflow">if</span>(PacketSendPacket(lpAdapter,lpPacket,TRUE)==FALSE)        <span class="comment">//发送数据包</span>00086          {00087                  cout&lt;&lt;<span class="stringliteral">"无法发送包"</span>&lt;&lt;endl;00088                  <span class="keywordflow">return</span> 0;00089          }00090 00091           PacketFreePacket(lpPacket);                                <span class="comment">//释放内存资源</span>00092           PacketCloseAdapter(lpAdapter);                             <span class="comment">//释放网卡设备</span>00093 00094           <span class="keywordflow">return</span> 1;00095 00096 00097 }</pre></div><p>    </td>  </tr></table><a class="anchor" name="a2" doxytag="arpsend.h::strtoaddr"></a><p><table class="mdTable" width="100%" cellpadding="2" cellspacing="0">  <tr>    <td class="mdRow">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top">bool strtoaddr           </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">const LPSTR&nbsp;</td>          <td class="mdname" nowrap> <em>str</em>, </td>        </tr>        <tr>          <td class="md" nowrap align="right"></td>          <td class="md"></td>          <td class="md" nowrap>unsigned char *&nbsp;</td>          <td class="mdname" nowrap> <em>add</em></td>        </tr>        <tr>          <td class="md"></td>          <td class="md">)&nbsp;</td>          <td class="md" colspan="2"></td>        </tr>      </table>    </td>  </tr></table><table cellspacing="5" cellpadding="0" border="0">  <tr>    <td>      &nbsp;    </td>    <td><p>将字符类型的数据转化为6byte16进制地址 <p><dl compact><dt><b>参数:</b></dt><dd>  <table border="0" cellspacing="2" cellpadding="0">    <tr><td valign="top"></td><td valign="top"><em>const</em>&nbsp;</td><td>LPSTR str:输入的字符 </td></tr>    <tr><td valign="top"></td><td valign="top"><em>unsigned</em>&nbsp;</td><td>char*add:输出转化完的16进制数 </td></tr>  </table></dl><dl compact><dt><b>返回:</b></dt><dd>转化成功则返回真 </dd></dl><div class="fragment"><pre class="fragment">00024 {00025         <span class="keywordtype">char</span> temp1,temp2=0;00026     <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i=0;i&lt;6;i++)00027         {00028                 <span class="keywordflow">for</span>(<span class="keywordtype">int</span> j=0;j&lt;2;j++)00029                 {00030                         temp1=str[i*2+j];00031                         <span class="keywordflow">if</span>(temp1&gt;=<span class="charliteral">'a'</span>&amp;&amp;temp1&lt;=<span class="charliteral">'f'</span>)temp1=temp1-<span class="charliteral">'a'</span>+10;00032                         <span class="keywordflow">else</span> <span class="keywordflow">if</span>(temp1&gt;=<span class="charliteral">'A'</span>&amp;&amp;temp1&lt;=<span class="charliteral">'F'</span>)temp1=temp1-<span class="charliteral">'A'</span>+10;00033                         <span class="keywordflow">else</span> <span class="keywordflow">if</span>(temp1&gt;=<span class="charliteral">'0'</span>&amp;&amp;temp1&lt;=<span class="charliteral">'9'</span>)temp1=temp1-<span class="charliteral">'0'</span>;00034                         <span class="keywordflow">else</span>00035                         {00036                                 cout&lt;&lt;<span class="stringliteral">"输入数据不正确,请输入16进制数据"</span>&lt;&lt;endl;00037                                 <span class="keywordflow">return</span> 0;00038                         }00039                         temp2=temp2*16+temp1;00040                 }00041                 add[i]=temp2;00042         }00043         <span class="keywordflow">return</span> 1;00044 }</pre></div><p>    </td>  </tr></table><hr><h2>变量文档</h2><a class="anchor" name="a0" doxytag="arpsend.h::arpPacket"></a><p><table class="mdTable" width="100%" cellpadding="2" cellspacing="0">  <tr>    <td class="mdRow">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"><a class="el" href="struct_a_r_p_packet.html">ARPPacket</a> <a class="el" href="arpsend_8h.html#a0">arpPacket</a>          </td>        </tr>      </table>    </td>  </tr></table><table cellspacing="5" cellpadding="0" border="0">  <tr>    <td>      &nbsp;    </td>    <td><p>    </td>  </tr></table><hr size="1"><address style="align: right;"><small>Generated at Sun Oct 31 15:17:47 2004 for arpsend by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address></body></html>

⌨️ 快捷键说明

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