2020-02-13 08:42:22 +00:00
|
|
|
# MOROS Network
|
2020-02-02 17:55:20 +00:00
|
|
|
|
|
|
|
## NET
|
|
|
|
|
2022-04-10 07:27:12 +00:00
|
|
|
Display the network configuration:
|
2020-02-02 17:55:20 +00:00
|
|
|
|
2022-04-10 07:27:12 +00:00
|
|
|
> net config
|
|
|
|
mac: 52-54-00-12-34-56
|
|
|
|
ip: 10.0.2.15/24
|
|
|
|
gw: 10.0.2.2
|
|
|
|
dns: 10.0.2.3
|
2020-02-02 17:55:20 +00:00
|
|
|
|
2022-04-10 07:27:12 +00:00
|
|
|
Display one attribute of the network configuration:
|
|
|
|
|
|
|
|
> net config dns
|
|
|
|
dns: 10.0.2.3
|
|
|
|
|
|
|
|
Set one attribute of the network configuration:
|
|
|
|
|
|
|
|
> net config dns 10.0.2.3
|
|
|
|
|
|
|
|
Display network statistics:
|
|
|
|
|
|
|
|
> net stat
|
|
|
|
rx: 13 packets (4052 bytes)
|
|
|
|
tx: 15 packets (1518 bytes)
|
|
|
|
|
|
|
|
Listen for packets transmitted on the network:
|
2020-02-02 17:55:20 +00:00
|
|
|
|
2020-11-15 08:44:10 +00:00
|
|
|
> net monitor
|
2020-02-02 17:55:20 +00:00
|
|
|
------------------------------------------------------------------
|
2020-11-15 08:44:10 +00:00
|
|
|
[488.396667] NET RTL8139 Receiving:
|
2020-02-02 17:55:20 +00:00
|
|
|
00000000: 3333 0000 0001 5256 0000 0002 86DD 6000 33....RV......`.
|
|
|
|
00000010: 0000 0038 3AFF FE80 0000 0000 0000 0000 ...8:...........
|
|
|
|
00000020: 0000 0000 0002 FF02 0000 0000 0000 0000 ................
|
|
|
|
00000030: 0000 0000 0001 8600 155E 4000 0708 0000 .........^@.....
|
|
|
|
00000040: 0000 0000 0000 0101 5256 0000 0002 0304 ........RV......
|
|
|
|
00000050: 40C0 0001 5180 0000 3840 0000 0000 FEC0 @...Q...8@......
|
|
|
|
00000060: 0000 0000 0000 0000 0000 0000 0000 ..............
|
|
|
|
------------------------------------------------------------------
|
2020-11-15 08:44:10 +00:00
|
|
|
[543.871322] NET RTL8139 Receiving:
|
2020-02-02 17:55:20 +00:00
|
|
|
00000000: 5254 0012 3456 5255 0A00 0202 0800 4500 RT..4VRU .....E.
|
|
|
|
00000010: 002C 0001 0000 4006 62BB 0A00 0202 0A00 .,....@.b. ... .
|
|
|
|
00000020: 020F A2E8 0016 0412 F801 0000 0000 6002 ..............`.
|
|
|
|
00000030: 2238 BECB 0000 0204 05B4 0000 "8..........
|
|
|
|
------------------------------------------------------------------
|
|
|
|
|
|
|
|
## DHCP
|
|
|
|
|
2022-04-10 07:27:12 +00:00
|
|
|
The `dhcp` command configures the network automatically:
|
2020-02-02 17:55:20 +00:00
|
|
|
|
2022-05-21 08:46:16 +00:00
|
|
|
> dhcp --verbose
|
2022-04-05 11:03:55 +00:00
|
|
|
DEBUG: DHCP Discover transmitted
|
|
|
|
DEBUG: DHCP Offer received
|
2022-04-10 07:27:12 +00:00
|
|
|
ip: 10.0.2.15/24
|
|
|
|
gw: 10.0.2.2
|
|
|
|
dns: 10.0.2.3
|
2020-02-02 17:55:20 +00:00
|
|
|
|
|
|
|
## HOST
|
|
|
|
|
|
|
|
The `host` command performs DNS lookups:
|
|
|
|
|
|
|
|
> host example.com
|
2023-07-29 14:24:45 +00:00
|
|
|
93.184.216.34
|
2020-02-02 17:55:20 +00:00
|
|
|
|
2020-02-06 19:26:08 +00:00
|
|
|
|
|
|
|
## TCP
|
|
|
|
|
|
|
|
The `tcp` command connects to TCP sockets:
|
|
|
|
|
2023-07-29 14:24:45 +00:00
|
|
|
> tcp time.nist.gov:13 --verbose
|
2024-03-15 18:08:10 +00:00
|
|
|
DEBUG: Connected to 129.6.15.30:13
|
2020-02-06 19:26:08 +00:00
|
|
|
|
|
|
|
58884 20-02-05 19:19:42 00 0 0 49.2 UTC(NIST) *
|
|
|
|
|
|
|
|
This could also be done with the `read` command:
|
|
|
|
|
|
|
|
> read /net/tcp/time.nist.gov:13
|
|
|
|
|
|
|
|
58884 20-02-05 19:19:55 00 0 0 49.2 UTC(NIST) *
|
|
|
|
|
|
|
|
|
2020-02-02 17:55:20 +00:00
|
|
|
## HTTP
|
|
|
|
|
|
|
|
Requesting a resource on a host:
|
|
|
|
|
2022-05-21 08:46:16 +00:00
|
|
|
> http moros.cc /test.html
|
2020-02-02 17:55:20 +00:00
|
|
|
|
|
|
|
Is equivalent to:
|
|
|
|
|
2022-05-21 08:46:16 +00:00
|
|
|
> read /net/http/moros.cc/test.html
|
2020-02-02 17:55:20 +00:00
|
|
|
|
|
|
|
And:
|
|
|
|
|
2022-05-21 08:46:16 +00:00
|
|
|
> read /net/http/moros.cc:80/test.html
|
|
|
|
|
|
|
|
## SOCKET
|
|
|
|
|
|
|
|
The `socket` command is used to read and write to network connexions
|
|
|
|
like the `netcat` command on Unix.
|
|
|
|
|
|
|
|
For example the request made with `tcp` above is equivalent to this:
|
|
|
|
|
2023-07-29 14:24:45 +00:00
|
|
|
> socket time.nist.gov:13 --read-only
|
2022-05-21 08:46:16 +00:00
|
|
|
|
|
|
|
59710 22-05-11 21:44:52 50 0 0 359.3 UTC(NIST) *
|
|
|
|
|
|
|
|
And the request made with `http` is equivalent to that:
|
|
|
|
|
2023-07-29 14:24:45 +00:00
|
|
|
> socket moros.cc:80
|
|
|
|
GET /test.html HTTP/1.0
|
|
|
|
Host: moros.cc
|
2022-05-21 08:46:16 +00:00
|
|
|
|
|
|
|
HTTP/1.1 200 OK
|
|
|
|
Server: nginx
|
|
|
|
Date: Wed, 11 May 2022 21:46:34 GMT
|
|
|
|
Content-Type: text/html
|
|
|
|
Content-Length: 866
|
|
|
|
Connection: close
|
|
|
|
Last-Modified: Fri, 29 Oct 2021 17:50:58 GMT
|
|
|
|
ETag: "617c3482-362"
|
|
|
|
Accept-Ranges: bytes
|
|
|
|
|
|
|
|
<!doctype html>
|
|
|
|
<html>
|
|
|
|
<head>
|
|
|
|
<meta charset="utf-8">
|
|
|
|
<title>MOROS: Obscure Rust Operating System</title>
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<h1>MOROS</h1>
|
|
|
|
</body>
|
|
|
|
</html>
|
|
|
|
|
|
|
|
Here's a connexion to a SMTP server to send a mail:
|
|
|
|
|
2023-07-29 14:24:45 +00:00
|
|
|
> socket 10.0.2.2:2500
|
2022-05-21 08:46:16 +00:00
|
|
|
220 EventMachine SMTP Server
|
2023-07-29 14:24:45 +00:00
|
|
|
HELO moros.cc
|
2022-05-21 08:46:16 +00:00
|
|
|
250-Ok EventMachine SMTP Server
|
2023-07-29 14:24:45 +00:00
|
|
|
MAIL FROM:<vinc@moros.cc>
|
2022-05-21 08:46:16 +00:00
|
|
|
250 Ok
|
2023-07-29 14:24:45 +00:00
|
|
|
RCPT TO:<alice@example.com>
|
2022-05-21 08:46:16 +00:00
|
|
|
250 Ok
|
2023-07-29 14:24:45 +00:00
|
|
|
DATA
|
2022-05-21 08:46:16 +00:00
|
|
|
354 Send it
|
2023-07-29 14:24:45 +00:00
|
|
|
Subject: Test
|
|
|
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum nec
|
|
|
|
diam vitae ex blandit malesuada nec a turpis.
|
|
|
|
.
|
2022-05-21 08:46:16 +00:00
|
|
|
250 Message accepted
|
2023-07-29 14:24:45 +00:00
|
|
|
QUIT
|
2022-05-21 08:46:16 +00:00
|
|
|
221 Ok
|
|
|
|
|
|
|
|
Sending a file to a server:
|
|
|
|
|
2023-07-29 14:24:45 +00:00
|
|
|
> socket 10.0.2.2:1234 <= /tmp/alice.txt
|