📄 arp.c
字号:
void arp_answer()
{
unsigned char i;
#ifdef debug
send_string("\r\nARP: destip=");
send_word(rxdnet.arpframe.destip[0]);
send_word(rxdnet.arpframe.destip[1]);
#endif
if (rxdnet.arpframe.destip[0]==my_ip_address.words[0])
if (rxdnet.arpframe.destip[1]==my_ip_address.words[1])
{//表示是向我这个ip地址的请求
for(i=16;i<64;i++)
{//复制arp到发送缓冲区
txdnet.bytes.bytebuf[i]=rxdnet.bytes.bytebuf[i];
}
for(i=0;i<3;i++)
{//复制对方网卡地址或网关地址
txdnet.etherframe.destnodeid[i]=rxdnet.etherframe.sourcenodeid[i];
txdnet.arpframe.sourcenodeid[i]=txdnet.etherframe.sourcenodeid[i];
txdnet.arpframe.destnodeid[i]=rxdnet.arpframe.sourcenodeid[i];
}
for(i=0;i<2;i++)
{
txdnet.arpframe.destip[i]=rxdnet.arpframe.sourceip[i];
txdnet.arpframe.sourceip[i]=rxdnet.arpframe.destip[i];
}
txdnet.arpframe.operation=0x0002;//应答代码
//txdnet.arpframe.sourceip[1]=0x1020; //debug
send_packet(60);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -