mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2024-12-27 00:21:05 +00:00
28 lines
781 B
Ruby
28 lines
781 B
Ruby
|
#!/usr/bin/ruby
|
||
|
|
||
|
#
|
||
|
# This can be used with the debug build option ZT_TRACE_MULTICAST to trace
|
||
|
# a multicast cascade.
|
||
|
#
|
||
|
# Define ZT_TRACE_MULTICAST to the IP/port where this script will be listening.
|
||
|
# The default port here is 6060, so an example would be to add:
|
||
|
#
|
||
|
# -DZT_TRACE_MULTICAST=\"10.0.0.1/6060\"
|
||
|
#
|
||
|
# ... to DEFS in the Makefile. Then build and run ZeroTier One on a testnet and
|
||
|
# the box defined as the trace endpoint will get spammed with UDP packets
|
||
|
# containing trace information for multicast propagation. This script then dumps
|
||
|
# these trace packets to stdout. Look at the code in PacketDecoder.cpp to see
|
||
|
# what this information entails.
|
||
|
#
|
||
|
|
||
|
require 'socket'
|
||
|
|
||
|
s = UDPSocket.new
|
||
|
s.bind('0.0.0.0',6060)
|
||
|
|
||
|
loop {
|
||
|
m = s.recvfrom(4096)[0].chomp
|
||
|
puts m if m.length > 0
|
||
|
}
|