Skip to content

Commit

Permalink
Update documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
theodorsm committed Jul 27, 2023
1 parent 6392e85 commit 0eb89c9
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
5Go phreaking
====================

This service is a basic simulation of a standalone 5G network - implementing a registration protocol inspired by [NAS/5GMM](https://www.etsi.org/deliver/etsi_ts/124500_124599/124501/17.07.01_60/ts_124501v170701p.pdf) and the [NGAP](https://www.etsi.org/deliver/etsi_ts/138400_138499/138413/16.02.00_60/ts_138413v160200p.pdf) protocol. The service consist of two docker images:
This service is a basic simulation of a standalone 5G network - implementing a registration protocol inspired by [NAS/5GMM](https://www.etsi.org/deliver/etsi_ts/124500_124599/124501/17.07.01_60/ts_124501v170701p.pdf) and the [NGAP](https://www.etsi.org/deliver/etsi_ts/138400_138499/138413/16.02.00_60/ts_138413v160200p.pdf) protocol. The service consist of two main components:

- Core: TCP server (internal port 3399) simulating 5G Access and Management Function (AMF) capabilities that can manages user equipment registration, authentication and security. The core also has a rudimentary User Plane Function (UPF), so when the phone is registered it can "request data from the internet". The response is just a hardcoded HTML page.
- UE (User Equipment): TCP server (internal port 6060) simulating a "5Go-enabled" phone, which connects to the Core and makes a fake [Gohper protocol](https://en.wikipedia.org/wiki/Gopher_(protocol)) request to the "internet". It also contains a gRPC server (internal port 9930) to simulate the operating system GPS API of the phone. It is used by checker to put flags on the UE.

In addition to these two components, a binary called `gNB` is provided. Which is a fake basestation to facilitate communication between the UE and Core, and make the service useable/interactive. Source code for this binary is in the `service_hidden` folder, which is not given teams playing this service. The `setup.sh` script in the hidden folder is used to compile the binary and copy it over to the `service` folder.
In addition to these two components, a binary called `gNB` is provided. Which simulates a fake basestation overpowering a real basestation. This is to facilitate communication between UE and Core, and make the service useable/interactive. Source code for this binary is in the `service_hidden` folder, which is not given teams playing this service. The `setup.sh` script in the hidden folder is used to compile the binary and copy it over to the `service` folder.

## Protocol call flow

Expand Down

0 comments on commit 0eb89c9

Please sign in to comment.