How can I go about programmatically pinging all address through Windows for an IPv6 network.
My address is fe80::1881:1fc2:a153:71f0%3(Preferred).
I have done this via IPv4 with no issue, but having a hard time understanding how to do this to build my ARP table for IPv6.
How can I go about programmatically [sic] pinging all address through Windows for an IPv6 network. [sic]
If you try to ping every one of the possible 18,446,744,073,709,551,616
addresses on a standard /64
IPv6 network, at 1,000,000
addresses per second, it will take you over 584,542
years. You simply cannot try to ping every host on an IPv6 network.
...having a hard time understanding how to do this to build my ARP table for IPv6.
IPv6 doesn't use ARP. IPv6 uses ND. IPv6 ND maintains a few tables, among them are the Neighbor Cache and the Destination Cache.
RFC 4861, Neighbor Discovery for IP version 6 (IPv6), explains the host data structures for IPv6 ND.
5.1. Conceptual Data Structures
Hosts will need to maintain the following pieces of information for each interface:
Neighbor Cache
- A set of entries about individual neighbors to which traffic has been sent recently. Entries are keyed on the neighbor's on-link unicast IP address and contain such information as its link-layer address, a flag indicating whether the neighbor is a router or a host (called IsRouter in this document), a pointer to any queued packets waiting for address resolution to complete, etc. A Neighbor Cache entry also contains information used by the Neighbor Unreachability Detection algorithm, including the reachability state, the number of unanswered probes, and the time the next Neighbor Unreachability Detection event is scheduled to take place.
Destination Cache
- A set of entries about destinations to which traffic has been sent recently. The Destination Cache includes both on-link and off-link destinations and provides a level of indirection into the Neighbor Cache; the Destination Cache maps a destination IP address to the IP address of the next-hop neighbor. This cache is updated with information learned from Redirect messages. Implementations may find it convenient to store additional information not directly related to Neighbor Discovery in Destination Cache entries, such as the Path MTU (PMTU) and round-trip timers maintained by transport protocols.
Prefix List
- A list of the prefixes that define a set of addresses that are on-link. Prefix List entries are created from information received in Router Advertisements. Each entry has an associated invalidation timer value (extracted from the advertisement) used to expire prefixes when they become invalid. A special "infinity" timer value specifies that a prefix remains valid forever, unless a new (finite) value is received in a subsequent advertisement. The link-local prefix is considered to be on the prefix list with an infinite invalidation timer regardless of whether routers are advertising a prefix for it. Received Router Advertisements SHOULD NOT modify the invalidation timer for the link-local prefix.
Default Router List
- A list of routers to which packets may be sent. Router list entries point to entries in the Neighbor Cache; the algorithm for selecting a default router favors routers known to be reachable over those whose reachability is suspect. Each entry also has an associated invalidation timer value (extracted from Router Advertisements) used to delete entries that are no longer advertised.