Skip to content

mdlayher/ndp

Repository files navigation

ndp Test Status Go Reference Go Report Card

Package ndp implements the Neighbor Discovery Protocol, as described in RFC 4861. MIT Licensed.

The command ndp is a utility for working with the Neighbor Discovery Protocol.

To learn more about NDP, and how to use this package, check out my blog: Network Protocol Breakdown: NDP and Go.

Examples

Listen for incoming NDP messages on interface eth0 to one of the interface's global unicast addresses.

$ sudo ndp -i eth0 -a global listen $ sudo ndp -i eth0 -a 2001:db8::1 listen 

Send router solicitations on interface eth0 from the interface's link-local address until a router advertisement is received.

$ sudo ndp -i eth0 -a linklocal rs 

Send neighbor solicitations on interface eth0 to a neighbor's link-local address until a neighbor advertisement is received.

$ sudo ndp -i eth0 -a linklocal -t fe80::1 ns 

An example of the tool sending a router solicitation and receiving a router advertisement on the WAN interface of a Ubiquiti router:

$ sudo ndp -i eth1 -a linklocal rs ndp> interface: eth1, link-layer address: 04:18:d6:a1:ce:b8, IPv6 address: fe80::618:d6ff:fea1:ceb8 ndp rs> router solicitation: - source link-layer address: 04:18:d6:a1:ce:b8 ndp rs> router advertisement from: fe80::201:5cff:fe69:f246: - hop limit: 0 - flags: [MO] - preference: 0 - router lifetime: 2h30m0s - reachable time: 1h0m0s - retransmit timer: 0s - options: - prefix information: 2600:6c4a:7002:100::/64, flags: [], valid: 720h0m0s, preferred: 168h0m0s 

About

Package ndp implements the Neighbor Discovery Protocol, as described in RFC 4861. MIT Licensed.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages