qiyidi
驱动牛犊
驱动牛犊
  • 注册日期2005-03-22
  • 最后登录2011-08-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望15点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
阅读:7868回复:8

真的很郁闷!ARP包发出去了,目标机器总是不回应?

楼主#
更多 发布于:2007-02-13 18:14
  在局域网内,向局域网内所有计算机,不断定时发送ARP请求包,希望收到我的ARP请求包的计算机,向我回复ARP应答包。
      我在目标计算机检查收到包的情况。发现目标计算机确实收到了ARP请求包,但是发现老是不应答。
      可是网关发出的ARP请求包,它就立即应答了。
      真的郁闷!
      有人知道原因吗?
qiyidi
驱动牛犊
驱动牛犊
  • 注册日期2005-03-22
  • 最后登录2011-08-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望15点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-02-14 09:48
怎么没有人回应呢?
wink624
驱动牛犊
驱动牛犊
  • 注册日期2005-12-06
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分364分
  • 威望59点
  • 贡献值0点
  • 好评度41点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-02-14 09:52
你可以在目标机上抓报看以下有没有目标机本身有没有相应,如果没有这说明你的arp报结构本身有问题,构造的不对。
root60931
驱动大牛
驱动大牛
  • 注册日期2002-10-25
  • 最后登录2023-10-29
  • 粉丝2
  • 关注0
  • 积分1013分
  • 威望432点
  • 贡献值0点
  • 好评度311点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2007-02-14 12:22
引用第2楼wink6242007-02-14 09:52发表的“”:
你可以在目标机上抓报看以下有没有目标机本身有没有相应,如果没有这说明你的arp报结构本身有问题,构造的不对。

或者是IP头的校验和不对
好好学习,天天向上! root60931@gmail.com
qiyidi
驱动牛犊
驱动牛犊
  • 注册日期2005-03-22
  • 最后登录2011-08-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望15点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-02-14 12:34
构造应该没有问题。就是用ARP的头结构来做的。
typedef struct _ARP_HEADER
{
    WORD    Type1;
    WORD    Type2;
    BYTE    Length1;  
    BYTE    Length2;  
                WORD    Opcode;                  
    BYTE    SourceMac[6];        
    BYTE    SourceIp[4];            
    BYTE    DestinationMac[6];    
    BYTE    DestinationIp[4];      
} ARP_HEADER, *PARP_HEADER;

目标计算机确实有反应。
另外,我创建一个函数,假使不允许目标计算机修改设定的IP。在目标计算机发出查询的ARP包时,使用本函数创建的ARP包,马上回复,目标计算机马上出现“IP已存在,不能设定”的提示。也是说,目标计算机确实收到ARP,产且有反应。
我估计目标计算机是收到我的ARP包,但我要求查询目标计算机IP地址的请求却不接收。

不知道创建ARP包时除了以太头和ARP头外,是否还需设置其它地方?
又或者,会不会在发出ARP请求包前,需用其它协议通知目标计算机,比如端口138,137的协议等。
qiyidi
驱动牛犊
驱动牛犊
  • 注册日期2005-03-22
  • 最后登录2011-08-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望15点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-02-14 12:36
引用第3楼root609312007-02-14 12:22发表的“”:

或者是IP头的校验和不对



ARP包哪来IP头。TCP和UDP包才有IP头啊!
cswang
驱动小牛
驱动小牛
  • 注册日期2001-11-05
  • 最后登录2010-03-01
  • 粉丝0
  • 关注0
  • 积分1004分
  • 威望144点
  • 贡献值0点
  • 好评度96点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-02-14 16:31
你可以先用SendARP()函数试一试看看有没有回应,要是没有回应,就说明网络不通,或者目标机器屏蔽了相关的功能。此外,ARP只能在同一个网段内才有效,跨网段的是不行的了
瞬息不可挽救,永恒不可企及
qiyidi
驱动牛犊
驱动牛犊
  • 注册日期2005-03-22
  • 最后登录2011-08-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望15点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2007-02-15 10:15
看来只能用SendARP()函数试下了。
wink624
驱动牛犊
驱动牛犊
  • 注册日期2005-12-06
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分364分
  • 威望59点
  • 贡献值0点
  • 好评度41点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2007-02-26 08:30
目标机既然有相应,那说明是你的机器没有收到,你察看一下响应包的内容是不是地址错了,如果错了,肯定是你构造arp包的时候源地址赋值错了,相应包发到别处了
游客

返回顶部