R. Ghetta - 2023-04-08

Have you tried EtherApe -P option ? It allows you to position specific nodes in virtual columns. You need to know the fixed nodes in advance and it's not interactive, but it might still be enough.
From the manual:

-P file with list of nodes and their columns
--position=file with list of nodes and their columns
Manually position nodes using columns. The input file takes the format of:
node.mydomain.com 1
router1.mydomain.com 2
router2.mydomain.com 2
172.16.2.[0-9] 1
.
.mydomain.com 1
ff02:. 2
fe80:.
1
The first column is a regex of either the FQDN or the IP address.
The second column is a number indicating the "column" that the node will be positioned in in the display with column 1 being on the far left. Up to 1000 columns are permitted.
Instead of being arranged in a circle the nodes are displayed in columns. This is quite useful for arranging nodes so that you can see nodes on the "inside" of your network on the left and the public internet nodes (anything not specified in the config file) on the right.
The input file above will cause 3 columns to display. Nodes with FQDN containing mydomain.com, those in the 172.16.2.0/24 subnet, and link local IPv6 addresses will be in the left column. 2 "routers", and IPv6 multicast will be in the center column and everything else will be in the right column. Column locations are determined by the first match while searching from the top of the input. Overlapping regex's can be used with the understanding that the first match will determine the location. The broadest regex's should be near the bottom of the position specification.