What happens if a traceroute with the same TTL/hop limit is received from two different source addresses? How will they react?
|
1 рік тому | |
---|---|---|
.woodpecker | 1 рік тому | |
debian | 1 рік тому | |
src | 1 рік тому | |
systemd | 1 рік тому | |
tests | 1 рік тому | |
.clang-format | 1 рік тому | |
.clang-format-include | 1 рік тому | |
.clang-tidy | 1 рік тому | |
.gitignore | 1 рік тому | |
BUILDING.md | 1 рік тому | |
CHANGELOG.md | 1 рік тому | |
LICENSE | 1 рік тому | |
Makefile | 1 рік тому | |
README.md | 1 рік тому | |
meson.build | 1 рік тому | |
meson_options.txt | 1 рік тому | |
topology.drawio | 1 рік тому | |
topology.png | 1 рік тому |
What happens if a traceroute with the same TTL/hop limit is received from two different source addresses? How will they react?
crazytrace is a network simulation program that can be used to see how different ping and traceroute implementations react when the sender address is different than expected.
See BUILDING.md.
crazytrace uses several libraries and tricks to create a virtual TAP adapter behind which the simulated network is hidden.
Here is how the program works:
The following is how the network simulator works when a packet is received:
The following is a example configuration file:
---
log_level: info
device_name: crazytrace
post_up_commands:
- ip route add fd00::/64 dev crazytrace via fe80::b1:4fff:fe7e:9dc3
nodes:
- mac: 02:B1:4F:7E:9D:C3
addresses: [fe80::b1:4fff:fe7e:9dc3]
hoplimit: 255
nodes:
- addresses: [fd00::1]
nodes:
- addresses: [fd00::21, fd00::22, fd00::23]
nodes:
- addresses: [fd00::3]
- mac: 02:B1:4F:7E:9D:C4
addresses: [fe80::b1:4fff:fe7e:9dc4]
This would generate the following topology:
If a node has several IPv6 addresses, it listens to all of them and responds randomly with one. If no hop limit is specified, 64 is used.
The following belong to the locally administered range and can be used without any problems:
x2-xx-xx-xx-xx-xx
x6-xx-xx-xx-xx-xx
xA-xx-xx-xx-xx-xx
xE-xx-xx-xx-xx-xx
# /path/to/crazytrace /path/to/config.yaml