Skip to content

Commit 134cf36

Browse files
tzaeschkeTilmann Zäschke
andauthored
Renaming + main class (#2)
* Renaming + main class --------- Co-authored-by: Tilmann Zäschke <[email protected]>
1 parent af89979 commit 134cf36

19 files changed

+461
-330
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
1414
- Added CHANGELOG
1515
- EchoResponder
1616

17+
### Changed
18+
- CHanged pretty much all names and created an executable main class.
19+
[#2](https://github.com/netsec-ethz/scion-java-multiping/pull/2)
20+
1721
## [0.1.0] - 2024-09-16
1822

1923
### Added

EchoRepeatDestinations-long.csv

Lines changed: 0 additions & 111 deletions
This file was deleted.

EchoRepeatOutput.csv

Lines changed: 0 additions & 147 deletions
This file was deleted.

README.md

Lines changed: 54 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -4,28 +4,49 @@ A tool that allows pinging / trace route) all known ASes in one run.
44

55
MultiPing provides several tools:
66

7-
* `DownloadAssignmentList` for downloading a list of known ISD/AS assignment
8-
* `EchoAll` for sending a single traceroute to all known ASes along the shortest path (default behaviour)
9-
* `EchoRepeat` for repeatedly probing (traceroute) multiple paths to multiple ASes.
10-
* `EchoResponder` for responding to incoming echo requests.
7+
* `Download Assignments` for downloading a list of known ISD/AS assignment
8+
* `Ping All` for sending a single traceroute to all known ASes along the shortest path (default
9+
behaviour)
10+
* `Ping Repeat` for repeatedly probing (traceroute) multiple paths to multiple ASes.
11+
* `Ping Responder` for responding to incoming echo requests.
1112

12-
# `DownloadAssignmentList`
13+
## Execution
14+
15+
All tools can be run from the executable jar file which is available in
16+
the [GitHub Releases section](https://github.com/netsec-ethz/scion-java-multiping/releases/download/v0.1.0/scion-multiping-0.1.0-shaded.jar).
17+
It can be executed with:
1318

14-
The tool parses [Anapayas ISD/AS assignment website](https://docs.anapaya.net/en/latest/resources/isd-as-assignments/)
15-
and writes the result to a local file 'EchoRepeatDestinations-new.csv'.
19+
```
20+
java -jar scion-multiping-0.1.0-shaded.jar [tool-command]
21+
```
22+
23+
Some tools require configuration files, see below in the tool description sections.
24+
See also the troubleshooting section below in case of issues.
1625

17-
# `EchoAll`
26+
# Download Assignments
1827

19-
The tool parses [Anapayas ISD/AS assignment website](https://docs.anapaya.net/en/latest/resources/isd-as-assignments/),
28+
The tool
29+
parses [Anapayas ISD/AS assignment website](https://docs.anapaya.net/en/latest/resources/isd-as-assignments/)
30+
and writes the result to a local file `isd-as-assignments.csv`.
31+
Note: the `isd-as-assignments.csv` output file can be directly used as input file for the PingRepeat
32+
33+
# Ping All
34+
35+
The tool
36+
parses [Anapayas ISD/AS assignment website](https://docs.anapaya.net/en/latest/resources/isd-as-assignments/),
2037
identifies the shortest path to each AS and sends a traceroute to each AS.
21-
It reports the number of paths to each AS as well as the shortest path with latency, remote IP, hop count and remote IP.
38+
It reports the number of paths to each AS as well as the shortest path with latency, remote IP, hop
39+
count and remote IP.
2240

2341
It also provides a summary of its findings.
2442

25-
# `EchoRepeat`
43+
# Ping Repeat
2644

27-
The tool reads a list if ISD/AS codes from a csv file (`isdAsFile`), repeatedly sends traceroute
28-
SCMP requests to each AS and writes the results to an output file (`outputFile`).
45+
The tool reads a list if ISD/AS codes from a csv file (
46+
`isdAsInputFile`, [example](/ping-repeat-destinations.json)), repeatedly sends
47+
traceroute
48+
SCMP requests to each AS and writes the results to an output file (
49+
`outputFile`, [example](/ping-repeat-output.csv)).
2950

3051
SCMP request are sent in several rounds, each round consisting of several attempts.
3152
In the default configuration (see below) it will:
@@ -41,7 +62,9 @@ In the default configuration (see below) it will:
4162

4263
## Configuration
4364

44-
The tool uses a configuration file `EchoRepeatConfig.json` that can contain the following arguments:
65+
The tool uses a configuration file `ping-repeat-config.json` ([example](/ping-repeat-config.json))
66+
that can contain the following
67+
arguments:
4568

4669
```json
4770
{
@@ -51,42 +74,37 @@ The tool uses a configuration file `EchoRepeatConfig.json` that can contain the
5174
"roundDelaySec": 600,
5275
"maxPathsPerDestination": 20,
5376
"tryICMP": false,
54-
"isdAsFile": "EchoRepeatDestinations-short.csv",
55-
"outputFile": "EchoOutput.csv",
77+
"isdAsInputFile": "ping-repeat-destinations.csv",
78+
"outputFile": "ping-repeat-output.csv",
5679
"localPort": 30041,
5780
"consoleOutput": true
5881
}
5982
```
6083

6184
## Input
6285

63-
The input file is a csv file with ISD/AS, label and IP (optional). The ISD/AS can optionally be enclosed in `"`.
64-
When an IP is given then the tool will execute an `echo` requerst to the IP, otherwise it will execute a `traceroute` request to the border router of the destination AS. Example:
86+
The input file is a csv file with ISD/AS, label and IP (optional). The ISD/AS can optionally be
87+
enclosed in `"`.
88+
When an IP is given then the tool will execute an `echo` request to the IP, otherwise it will
89+
execute a `traceroute` request to the border router of the destination
90+
AS. [Example](/ping-repeat-destinations.csv):
6591

6692
```
6793
64-2:0:9,"ETH Zurich (ETHZ)"
6894
"64-2:0:4c","AWS PoC Anapaya",192.168.0.1
6995
```
7096

71-
This will result in a traceroute request to th ETH border router of `64-2:0:9` and a echo request
72-
to `64-2:0:4c,192.168.0.1 `.
97+
This will result in a `traceroute` request to th ETH border router of `64-2:0:9` and a `echo`
98+
request to `64-2:0:4c,192.168.0.1`.
7399

74100
## Execution
75101

76-
To run, the tool requires a configuration file (see above or [here](/EchoRepeatConfig.json)) and an input file
77-
(see [here](/EchoRepeatDestinations-short.csv)).
78-
79-
An executable jar file is available in
80-
the [GitHub Releases section](https://github.com/netsec-ethz/scion-java-multiping/releases/download/v0.1.0/scion-multiping-0.1.0-shaded.jar).
81-
It can be executed
82-
with:
102+
THe tool can be executed with:
83103

84104
```
85-
java -jar scion-multiping-0.1.0-shaded.jar
105+
java -jar scion-multiping-0.1.0-shaded.jar ping-repeat
86106
```
87107

88-
See also the troubleshooting section below in case of issues.
89-
90108
## Output
91109

92110
The output file is a csv file with one row per round/path.
@@ -117,9 +135,10 @@ This shows a LOCAL_AS and a NO_PATH event:
117135
71-2:0:4a,,2024-09-13T15:46:16.554705200Z,NO_PATH,0,[]
118136
```
119137

120-
# `EchoResponder`
138+
# Ping Responder
121139

122-
The `EchoResponder` can be configured with a configuration file `EchoResponderConfig.json`, it has two options:
140+
The `PingResponder` can be configured with a configuration file `ping-responder-config.json`, it has
141+
two options:
123142

124143
```json
125144
{
@@ -132,9 +151,10 @@ The `EchoResponder` can be configured with a configuration file `EchoResponderCo
132151

133152
## No DNS search domain found. Please check your /etc/resolv.conf or similar.
134153

135-
This happens, for example, on Windows when using a VPN. One solution is to execute the jar with the following property (
154+
This happens, for example, on Windows when using a VPN. One solution is to execute the jar with the
155+
following property (
136156
the example works only for `ethz.ch`):
137157

138158
```
139-
java -Dorg.scion.dnsSearchDomains=ethz.ch. -jar target/scion-multiping-0.0.1-ALPHA-SNAPSHOT-shaded.jar
159+
java -Dorg.scion.dnsSearchDomains=ethz.ch. -jar target/scion-multiping-0.1.0-shaded.jar
140160
```

EchoRepeatDestinations-new.csv renamed to isd-as-assignments.csv

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
64-2:0:2c,"Armasuisse Thun"
3838
64-2:0:2d,"Armasuisse Lausanne"
3939
64-2:0:30,"AWK Group AG"
40-
64-2:0:34,"BNC"
4140
64-2:0:36,"RUAG"
4241
64-2:0:37,"UBS"
4342
64-2:0:38,"UBS"
@@ -63,8 +62,9 @@
6362
64-2:0:70,"Anapaya Azure Test AS"
6463
64-2:0:74,"Anapaya Germany GATE Service from Switzerland"
6564
64-2:0:75,"Anapaya France GATE Service from Switzerland"
66-
64-2:0:81,"SUVA"
65+
64-2:0:81,"SUVA Lugano"
6766
64-2:0:82,"Anapaya GlobalConnect from Switzerland"
67+
64-2:0:83,"SUVA Luzern"
6868
65-0:0:e26d,"International Committee of the Red Cross"
6969
65-2:0:f,"Anapaya CONNECT Frankfurt"
7070
65-2:0:13,"Anapaya Zurich"
@@ -114,6 +114,7 @@
114114
71-0:0:9f2,"NCSR Demokritos SCION AS"
115115
71-0:0:103e,"City University of Hong Kong (CityUHK)"
116116
71-0:0:51e5,"GEANT"
117+
71-0:3:1a2f,"NATO Cooperative Cyber Defence Centre of Excellence (CCDCoE)"
117118
71-2:0:35,"BRIDGES"
118119
71-2:0:3b,"KREONET Seoul"
119120
71-2:0:3c,"KREONET Hong Kong"

EchoRepeatConfig.json renamed to ping-repeat-config.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@
55
"roundDelaySec": 600,
66
"maxPathsPerDestination": 20,
77
"tryICMP": false,
8-
"isdAsFile": "EchoRepeatDestinations-short.csv",
9-
"outputFile": "EchoRepeatOutput.csv"
8+
"isdAsInputFile": "ping-repeat-destinations.csv",
9+
"outputFile": "ping-repeat-output.csv"
1010
}
File renamed without changes.

0 commit comments

Comments
 (0)