How to send Gratuitous ARP?

Status
Not open for further replies.
G

Guest

Guest
Archived from groups: microsoft.public.windowsnt.protocol.tcpip (More info?)

I have a situation where I want to use Gratuitous ARP to associate a new
MAC address with an established IP address. This is done for
fault-tolerance.
I have a real-time host with two MAC interfaces, but one IP address. When
the board hosting the active MAC interface goes down, the standby board
picks up. The new board has its own MAC address which it needs to broadcast
to the network.

Is there any API or ways to send the Gratuitous ARP over the network? I know
when we add the new IP address
on the interface, OS does send the Gratuitous ARP on the network. I can not
add/remove the IP address from the interface. I am working on Windows Server
2003.

I checked the IP helper functions in MSDN but without help.

Thanks in advance.
Rajesh
 
G

Guest

Guest
Archived from groups: microsoft.public.windowsnt.protocol.tcpip (More info?)

If you need to assign IP to network adapter use AddIpAddress from IPHLPAPI
Look for example on http://www.codeguru.com/network/pfwredun.shtml
Arkady

"Rajesh Gupta" <guptarajesh@gmail.com> wrote in message
news:eTsZREWrEHA.3244@tk2msftngp13.phx.gbl...
> I have a situation where I want to use Gratuitous ARP to associate a new
> MAC address with an established IP address. This is done for
> fault-tolerance.
> I have a real-time host with two MAC interfaces, but one IP address. When
> the board hosting the active MAC interface goes down, the standby board
> picks up. The new board has its own MAC address which it needs to
broadcast
> to the network.
>
> Is there any API or ways to send the Gratuitous ARP over the network? I
know
> when we add the new IP address
> on the interface, OS does send the Gratuitous ARP on the network. I can
not
> add/remove the IP address from the interface. I am working on Windows
Server
> 2003.
>
> I checked the IP helper functions in MSDN but without help.
>
> Thanks in advance.
> Rajesh
>
>
 
G

Guest

Guest
Archived from groups: microsoft.public.windowsnt.protocol.tcpip (More info?)

Thanks a lot for your reply. I do not have control over the machine. If that
server fails, then i have to take over the IP of that server. So i can not
do anything on that server. So when i take over the IP, i use ADDIpAdress
API. But when i give control back to the server, in that scenario, i will
have to send the ARP, so clients can update there ARP tables.

Thanks
Rajesh

"Arkady Frenkel" <arkadyf@hotmailxdotxcom> wrote in message
news:%23M01vrWrEHA.3416@TK2MSFTNGP15.phx.gbl...
> If you need to assign IP to network adapter use AddIpAddress from IPHLPAPI
> Look for example on http://www.codeguru.com/network/pfwredun.shtml
> Arkady
>
> "Rajesh Gupta" <guptarajesh@gmail.com> wrote in message
> news:eTsZREWrEHA.3244@tk2msftngp13.phx.gbl...
>> I have a situation where I want to use Gratuitous ARP to associate a new
>> MAC address with an established IP address. This is done for
>> fault-tolerance.
>> I have a real-time host with two MAC interfaces, but one IP address.
>> When
>> the board hosting the active MAC interface goes down, the standby board
>> picks up. The new board has its own MAC address which it needs to
> broadcast
>> to the network.
>>
>> Is there any API or ways to send the Gratuitous ARP over the network? I
> know
>> when we add the new IP address
>> on the interface, OS does send the Gratuitous ARP on the network. I can
> not
>> add/remove the IP address from the interface. I am working on Windows
> Server
>> 2003.
>>
>> I checked the IP helper functions in MSDN but without help.
>>
>> Thanks in advance.
>> Rajesh
>>
>>
>
>
 
G

Guest

Guest
Archived from groups: microsoft.public.windowsnt.protocol.tcpip (More info?)

You can't have the same IP on two machines , so you need to use
DeleteIpAddress() on second host for first to take that
Arkady

"Rajesh Gupta" <guptarajesh@gmail.com> wrote in message
news:eyvfIgXrEHA.756@TK2MSFTNGP11.phx.gbl...
> Thanks a lot for your reply. I do not have control over the machine. If
that
> server fails, then i have to take over the IP of that server. So i can not
> do anything on that server. So when i take over the IP, i use ADDIpAdress
> API. But when i give control back to the server, in that scenario, i will
> have to send the ARP, so clients can update there ARP tables.
>
> Thanks
> Rajesh
>
> "Arkady Frenkel" <arkadyf@hotmailxdotxcom> wrote in message
> news:%23M01vrWrEHA.3416@TK2MSFTNGP15.phx.gbl...
> > If you need to assign IP to network adapter use AddIpAddress from
IPHLPAPI
> > Look for example on http://www.codeguru.com/network/pfwredun.shtml
> > Arkady
> >
> > "Rajesh Gupta" <guptarajesh@gmail.com> wrote in message
> > news:eTsZREWrEHA.3244@tk2msftngp13.phx.gbl...
> >> I have a situation where I want to use Gratuitous ARP to associate a
new
> >> MAC address with an established IP address. This is done for
> >> fault-tolerance.
> >> I have a real-time host with two MAC interfaces, but one IP address.
> >> When
> >> the board hosting the active MAC interface goes down, the standby board
> >> picks up. The new board has its own MAC address which it needs to
> > broadcast
> >> to the network.
> >>
> >> Is there any API or ways to send the Gratuitous ARP over the network? I
> > know
> >> when we add the new IP address
> >> on the interface, OS does send the Gratuitous ARP on the network. I can
> > not
> >> add/remove the IP address from the interface. I am working on Windows
> > Server
> >> 2003.
> >>
> >> I checked the IP helper functions in MSDN but without help.
> >>
> >> Thanks in advance.
> >> Rajesh
> >>
> >>
> >
> >
>
>
 

oberhaus

Distinguished
Feb 26, 2009
1
0
18,510
I realize this response is over 4 years old, but to directly answer the original question:

If you want to send gratuitous ARPs in Windows, there appears to be only one way to do it: send raw Ethernet frames using a Windows kernel driver.

In order to get started with a kernel driver that can do this, I would suggest you look at the WDK sample ndisprot.

And by the way, you probably would want to emit both kinds of gratuitous ARP. Read that Wireshark Wiki link, which has some good info on how it works.


Archived from groups: microsoft.public.windowsnt.protocol.tcpip (More info?)

I have a situation where I want to use Gratuitous ARP to associate a new
MAC address with an established IP address. This is done for
fault-tolerance.
I have a real-time host with two MAC interfaces, but one IP address. When
the board hosting the active MAC interface goes down, the standby board
picks up. The new board has its own MAC address which it needs to broadcast
to the network.

Is there any API or ways to send the Gratuitous ARP over the network? I know
when we add the new IP address
on the interface, OS does send the Gratuitous ARP on the network. I can not
add/remove the IP address from the interface. I am working on Windows Server
2003.

I checked the IP helper functions in MSDN but without help.

Thanks in advance.
Rajesh
 

lbgaus

Distinguished
Nov 22, 2010
1
0
18,510
I found a way to send gratuitous ARP packets in Windows 2008 and above that seems to work for me. Search for and download arping for Windows (Thomas Habets version), copy it to the server you wish to update ARP for, and run arping ipaddr -S ipaddr. (Replace ipaddr with your IP). This will broadcast gratuitous ARP packets since Windows no longer will.
 
Status
Not open for further replies.