This commit is contained in:
blat 2022-07-09 00:39:24 +02:00
parent 14d9757ee6
commit f4ba07de71
18 changed files with 839 additions and 1 deletions

2
.gitignore vendored
View file

@ -22,7 +22,7 @@ _testmain.go
*.exe
bin/
src/
slides/
#slides/
main
node_modules
hacker-slides

419
index.md Normal file
View file

@ -0,0 +1,419 @@
## Dall'internet fai-da-te
## all'internet condominiale
--
## altre presentazioni
https://hackordie.gattini.ninja/internetfaidate
---
## cos'è un computer?
--
<div style="width:50%; float:right">
Fisso
![laptop](/images/pc_fisso.jpeg)
</div>
<div style="width:50%">
Smartphone
![smartphone](/images/pc_smartphone.jpeg)
</div>
--
<div style="width:50%; float:right">
Raspberry
![raspberry](/images/pc_raspberrypi.jpeg)
</div>
<div style="width:50%">
Router
![router](/images/pc_router.jpg)
</div>
--
<div style="width:50%; float:right">
Datacenter
![raspberry](/images/pc_datacenter.png)
</div>
<div style="width:50%">
Applicazione
![router](/images/pc_applicazione.png)
</div>
--
### una calcolatrice potenziata...
in grado di calcolare non solo numeri, ma anche stringhe e booleani, riducendo anch'essi a numeri
--
### ...con delle periferiche:
questi calcolatori hanno delle periferiche di input-output, in analogia con gli organi di senso
- microfono
- casse audio
- schermo
- radio
- gps
--
### su questa base
si rende possibile per noi avere a che fare con una serie di oggetti digitali, quali blog, mappe, calendari, stanze di chat, siti web, e piattaforme di condivisione di file e di testo.
la nostra interazione con questi modifica i nostri repertori di azioni possibili, come avviene quando si impara a usare uno strumento fisico nuovo.
---
## Interfacce del computer
--
desktop GUI
<div style="width:50%; float: right">
![windows](/images/pc_img_desktop.jpeg)
</div>
<div style="width:50%;">
![gnome](/images/pc_img_desktop_gnome.png)
</div>
--
Scheda madre
<div style="width:50%; float: right">
![motherboard_router](/images/pc_img_motherboard_router.jpeg)
</div>
<div style="width:50%;">
![motherboard](/images/pc_img_motherboard.jpeg)
</div>
--
filesystem
![filesystem](/images/pc_img_filesystem.jpeg)
--
linea di comando CLI
|| ~ $ ls -lh /
total 69K
lrwxrwxrwx 1 root root 7 Jun 1 03:02 bin -> usr/bin
drwxr-xr-x 5 root root 1.0K Jun 23 15:23 boot
drwxr-xr-x 20 root root 3.5K Jul 7 16:42 dev
drwxr-xr-x 137 root root 12K Jul 5 10:35 etc
drwxr-xr-x 4 root root 4.0K Jun 1 03:17 home
lrwxrwxrwx 1 root root 31 Jun 18 14:16 initrd.img -> boot/initrd.img-5.10.0-15-amd64
lrwxrwxrwx 1 root root 31 Jun 18 14:16 initrd.img.old -> boot/initrd.img-5.10.0-14-amd64
lrwxrwxrwx 1 root root 7 Jun 1 03:02 lib -> usr/lib
lrwxrwxrwx 1 root root 9 Jun 1 03:02 lib32 -> usr/lib32
lrwxrwxrwx 1 root root 9 Jun 1 03:02 lib64 -> usr/lib64
lrwxrwxrwx 1 root root 10 Jun 1 03:02 libx32 -> usr/libx32
drwx------ 2 root root 16K Jun 1 03:02 lost+found
drwxr-xr-x 4 root root 4.0K Jun 1 03:48 media
drwxr-xr-x 2 root root 4.0K Jun 1 03:02 mnt
drwxr-xr-x 5 root root 4.0K Jun 2 03:18 opt
dr-xr-xr-x 360 root root 0 Jul 4 14:31 proc
drwx------ 7 root root 4.0K Jul 6 14:31 root
drwxr-xr-x 35 root root 920 Jul 7 14:02 run
lrwxrwxrwx 1 root root 8 Jun 1 03:02 sbin -> usr/sbin
drwxr-xr-x 2 root root 4.0K Jun 1 03:02 srv
dr-xr-xr-x 13 root root 0 Jul 4 14:31 sys
drwxrwxrwt 39 root root 4.0K Jul 7 17:30 tmp
drwxr-xr-x 14 root root 4.0K Jun 1 03:02 usr
drwxr-xr-x 13 root root 4.0K Jun 1 17:04 var
lrwxrwxrwx 1 root root 28 Jun 18 14:16 vmlinuz -> boot/vmlinuz-5.10.0-15-amd64
lrwxrwxrwx 1 root root 28 Jun 18 14:16 vmlinuz.old -> boot/vmlinuz-5.10.0-14-amd64
---
## Utilizzo critico
#### free software e licenza GPL
- per pc abbiamo GNU/Linux
- per smartphone android c'è del meno peggio: [lineage](https://lineageos.org/);
[e/os](https://lineageos.org/) che è anche la versione android di default per fairphone;
[f-droid](https://f-droid.org/) come gestore di pacchetti solo FOSS
- per i router c'è
[openwrt](https://openwrt.org/)
---
## Concetti base
<br>
- internet
- indirizzi ip
- nomi di dominio
- server dns
--
### Internet
Una definizione:
L'insieme delle interconnessioni, a livello globale, attive sopra il protocollo IP (Internet Protocol)
--
### indirizzi IP
esempi:
- 192.168.0.1
- 10.13.152.69
- 145.10.10.12
2^32, circa 4 miliardi di indirizzi possibili con IPv4
--
![reteip](/images/rete_ip.png)
--
### nomi di dominio
Hanno bisogno di una traduzione in indirizzi ip (es. numeri di telefono)
si leggono prima dalla / verso sinistra, poi dalla / verso destra
https://www.google.com/maps
https://support.google.com/
https://repubblica.it
https://www.repubblica.it
--
esempio di un whois
|| ~ $ whois repubblica.it
*********************************************************************
* Please note that the following result could be a subgroup of *
* the data contained in the database. *
* *
* Additional information can be visualized at: *
* http://web-whois.nic.it *
* Privacy Information: http://web-whois.nic.it/privacy *
*********************************************************************
Domain: repubblica.it
Status: ok
Signed: no
Created: 1996-05-15 00:00:00
Last Update: 2022-02-01 00:48:40
Expire Date: 2023-01-16
Registrant
Organization: Gedi Digital S.r.l
Address: Via Cristoforo Colombo, 90
Roma
00147
RM
IT
Created: 2020-11-17 18:26:41
Last Update: 2021-09-07 22:48:09
Admin Contact
Name: Daniele Bianchi
Organization: Gedi Digital S.r.l
Address: Via Cristoforo Colombo, 90
Roma
00147
RM
IT
Created: 2020-11-17 18:26:41
Last Update: 2021-09-07 22:48:09
Technical Contacts
Name: Daniele Bianchi
Organization: Gedi Digital S.r.l
Address: Via Cristoforo Colombo, 90
Roma
00147
RM
IT
Created: 2020-11-17 18:26:42
Last Update: 2021-09-07 22:48:10
Registrar
Organization: Gandi SAS
Name: GANDI-REG
Web: http://www.gandi.net
DNSSEC: no
Nameservers
ns-1541.awsdns-00.co.uk
ns-1477.awsdns-56.org
ns-723.awsdns-26.net
ns-353.awsdns-44.com
--
### server dns
DNS, domain name system
ovvero un sistema utilizzato per assegnare nomi ai nodi della rete
i server dns mantengono una rubrica di corrispondenze tra indirizzi ip e nomi di dominio
esempi di server dns
- 1.1.1.1 cloudflare
- 8.8.8.8 google
--
esempio dig
|| ~ $ dig A repubblica.it @8.8.8.8
; <<>> DiG 9.16.27-Debian <<>> A repubblica.it @8.8.8.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35910
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 4, ADDITIONAL: 7
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 1e0b65dfd33315b6bc2349ad62c6e63e29053e3335111deb (good)
;; QUESTION SECTION:
;repubblica.it. IN A
;; ANSWER SECTION:
repubblica.it. 60 IN A 143.204.176.99
repubblica.it. 60 IN A 143.204.176.3
repubblica.it. 60 IN A 143.204.176.9
repubblica.it. 60 IN A 143.204.176.118
;; AUTHORITY SECTION:
repubblica.it. 10729 IN NS ns-353.awsdns-44.com.
repubblica.it. 10729 IN NS ns-1541.awsdns-00.co.uk.
repubblica.it. 10729 IN NS ns-723.awsdns-26.net.
repubblica.it. 10729 IN NS ns-1477.awsdns-56.org.
;; ADDITIONAL SECTION:
ns-723.awsdns-26.net. 172758 IN A 205.251.194.211
ns-1477.awsdns-56.org. 172745 IN A 205.251.197.197
ns-1541.awsdns-00.co.uk. 172723 IN A 205.251.198.5
ns-723.awsdns-26.net. 172758 IN AAAA 2600:9000:5302:d300::1
ns-1477.awsdns-56.org. 172745 IN AAAA 2600:9000:5305:c500::1
ns-1541.awsdns-00.co.uk. 172723 IN AAAA 2600:9000:5306:500::1
;; Query time: 80 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Thu Jul 07 15:57:18 CEST 2022
;; MSG SIZE rcvd: 406
---
### Un esempio più semplice:
La commutazione di circuito (telefono)
--
### commutazione di pacchetto
e il multiplex
--
<iframe data-src="https://www.youtube.com/embed/CcoedteNOL4"></iframe>
---
### per costruire una rete locale basta un cavo tra due pc?
indirizzi ip e dhcp in rete locale
strati di tecnologie coinvolte, con una semplificazione potremmo dire almeno tre
- livello fisico (ethernet)
- livello di collegamento (mac-address)
- livello di rete (ip)
---
### architettura iso/osi
--
<div style="height: 90vh !important">
![modelloosi](/images/rete_osi.png)
</div>
--
![modelloosi2](/images/rete_osi_2.jpeg);
--
- livello fisico
- livello di collegamento
- livello di rete
- livello di trasporto
- livello di sessione
- livello di presentazione
- livello di applicazione
---
### architettura internet
modello a clessidra
![modelloclessidra](/images/rete_clessidra.jpeg)
---
### protocolli e porte
- ftp, File Transfer Protocol (client-server)
- http, HyperText Transfer Protocol
- https, Hypertext Transfer Protocol Secure
- smtp, Simple Mail Transfer Protocol
- imap, Internet Message Access Protocol
- ssh, Secure Shell
---
### esempio: cos'è una pagina web?
un insieme di file per comporla
Schema comune:
- struttura (html),
- grafica (css),
- azioni (javascript)

Binary file not shown.

After

Width:  |  Height:  |  Size: 655 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

BIN
slides/images/pc_fisso.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 284 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 294 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 749 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 MiB

BIN
slides/images/pc_router.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
slides/images/rete_ip.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

BIN
slides/images/rete_osi.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

419
slides/index.md Normal file
View file

@ -0,0 +1,419 @@
## Dall'internet fai-da-te
## all'internet condominiale
--
## altre presentazioni
https://hackordie.gattini.ninja/internetfaidate
---
## cos'è un computer?
--
<div style="width:50%; float:right">
Fisso
![laptop](/images/pc_fisso.jpeg)
</div>
<div style="width:50%">
Smartphone
![smartphone](/images/pc_smartphone.jpeg)
</div>
--
<div style="width:50%; float:right">
Raspberry
![raspberry](/images/pc_raspberrypi.jpeg)
</div>
<div style="width:50%">
Router
![router](/images/pc_router.jpg)
</div>
--
<div style="width:50%; float:right">
Datacenter
![raspberry](/images/pc_datacenter.png)
</div>
<div style="width:50%">
Applicazione
![router](/images/pc_applicazione.png)
</div>
--
### una calcolatrice potenziata...
in grado di calcolare non solo numeri, ma anche stringhe e booleani, riducendo anch'essi a numeri
--
### ...con delle periferiche:
questi calcolatori hanno delle periferiche di input-output, in analogia con gli organi di senso
- microfono
- casse audio
- schermo
- radio
- gps
--
### su questa base
si rende possibile per noi avere a che fare con una serie di oggetti digitali, quali blog, mappe, calendari, stanze di chat, siti web, e piattaforme di condivisione di file e di testo.
la nostra interazione con questi modifica i nostri repertori di azioni possibili, come avviene quando si impara a usare uno strumento fisico nuovo.
---
## Interfacce del computer
--
desktop GUI
<div style="width:50%; float: right">
![windows](/images/pc_img_desktop.jpeg)
</div>
<div style="width:50%;">
![gnome](/images/pc_img_desktop_gnome.png)
</div>
--
Scheda madre
<div style="width:50%; float: right">
![motherboard_router](/images/pc_img_motherboard_router.jpeg)
</div>
<div style="width:50%;">
![motherboard](/images/pc_img_motherboard.jpeg)
</div>
--
filesystem
![filesystem](/images/pc_img_filesystem.jpeg)
--
linea di comando CLI
|| ~ $ ls -lh /
total 69K
lrwxrwxrwx 1 root root 7 Jun 1 03:02 bin -> usr/bin
drwxr-xr-x 5 root root 1.0K Jun 23 15:23 boot
drwxr-xr-x 20 root root 3.5K Jul 7 16:42 dev
drwxr-xr-x 137 root root 12K Jul 5 10:35 etc
drwxr-xr-x 4 root root 4.0K Jun 1 03:17 home
lrwxrwxrwx 1 root root 31 Jun 18 14:16 initrd.img -> boot/initrd.img-5.10.0-15-amd64
lrwxrwxrwx 1 root root 31 Jun 18 14:16 initrd.img.old -> boot/initrd.img-5.10.0-14-amd64
lrwxrwxrwx 1 root root 7 Jun 1 03:02 lib -> usr/lib
lrwxrwxrwx 1 root root 9 Jun 1 03:02 lib32 -> usr/lib32
lrwxrwxrwx 1 root root 9 Jun 1 03:02 lib64 -> usr/lib64
lrwxrwxrwx 1 root root 10 Jun 1 03:02 libx32 -> usr/libx32
drwx------ 2 root root 16K Jun 1 03:02 lost+found
drwxr-xr-x 4 root root 4.0K Jun 1 03:48 media
drwxr-xr-x 2 root root 4.0K Jun 1 03:02 mnt
drwxr-xr-x 5 root root 4.0K Jun 2 03:18 opt
dr-xr-xr-x 360 root root 0 Jul 4 14:31 proc
drwx------ 7 root root 4.0K Jul 6 14:31 root
drwxr-xr-x 35 root root 920 Jul 7 14:02 run
lrwxrwxrwx 1 root root 8 Jun 1 03:02 sbin -> usr/sbin
drwxr-xr-x 2 root root 4.0K Jun 1 03:02 srv
dr-xr-xr-x 13 root root 0 Jul 4 14:31 sys
drwxrwxrwt 39 root root 4.0K Jul 7 17:30 tmp
drwxr-xr-x 14 root root 4.0K Jun 1 03:02 usr
drwxr-xr-x 13 root root 4.0K Jun 1 17:04 var
lrwxrwxrwx 1 root root 28 Jun 18 14:16 vmlinuz -> boot/vmlinuz-5.10.0-15-amd64
lrwxrwxrwx 1 root root 28 Jun 18 14:16 vmlinuz.old -> boot/vmlinuz-5.10.0-14-amd64
---
## Utilizzo critico
#### free software e licenza GPL
- per pc abbiamo GNU/Linux
- per smartphone android c'è del meno peggio: [lineage](https://lineageos.org/);
[e/os](https://lineageos.org/) che è anche la versione android di default per fairphone;
[f-droid](https://f-droid.org/) come gestore di pacchetti solo FOSS
- per i router c'è
[openwrt](https://openwrt.org/)
---
## Concetti base
<br>
- internet
- indirizzi ip
- nomi di dominio
- server dns
--
### Internet
Una definizione:
L'insieme delle interconnessioni, a livello globale, attive sopra il protocollo IP (Internet Protocol)
--
### indirizzi IP
esempi:
- 192.168.0.1
- 10.13.152.69
- 145.10.10.12
2^32, circa 4 miliardi di indirizzi possibili con IPv4
--
![reteip](/images/rete_ip.png)
--
### nomi di dominio
Hanno bisogno di una traduzione in indirizzi ip (es. numeri di telefono)
si leggono prima dalla / verso sinistra, poi dalla / verso destra
https://www.google.com/maps
https://support.google.com/
https://repubblica.it
https://www.repubblica.it
--
esempio di un whois
|| ~ $ whois repubblica.it
*********************************************************************
* Please note that the following result could be a subgroup of *
* the data contained in the database. *
* *
* Additional information can be visualized at: *
* http://web-whois.nic.it *
* Privacy Information: http://web-whois.nic.it/privacy *
*********************************************************************
Domain: repubblica.it
Status: ok
Signed: no
Created: 1996-05-15 00:00:00
Last Update: 2022-02-01 00:48:40
Expire Date: 2023-01-16
Registrant
Organization: Gedi Digital S.r.l
Address: Via Cristoforo Colombo, 90
Roma
00147
RM
IT
Created: 2020-11-17 18:26:41
Last Update: 2021-09-07 22:48:09
Admin Contact
Name: Daniele Bianchi
Organization: Gedi Digital S.r.l
Address: Via Cristoforo Colombo, 90
Roma
00147
RM
IT
Created: 2020-11-17 18:26:41
Last Update: 2021-09-07 22:48:09
Technical Contacts
Name: Daniele Bianchi
Organization: Gedi Digital S.r.l
Address: Via Cristoforo Colombo, 90
Roma
00147
RM
IT
Created: 2020-11-17 18:26:42
Last Update: 2021-09-07 22:48:10
Registrar
Organization: Gandi SAS
Name: GANDI-REG
Web: http://www.gandi.net
DNSSEC: no
Nameservers
ns-1541.awsdns-00.co.uk
ns-1477.awsdns-56.org
ns-723.awsdns-26.net
ns-353.awsdns-44.com
--
### server dns
DNS, domain name system
ovvero un sistema utilizzato per assegnare nomi ai nodi della rete
i server dns mantengono una rubrica di corrispondenze tra indirizzi ip e nomi di dominio
esempi di server dns
- 1.1.1.1 cloudflare
- 8.8.8.8 google
--
esempio dig
|| ~ $ dig A repubblica.it @8.8.8.8
; <<>> DiG 9.16.27-Debian <<>> A repubblica.it @8.8.8.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35910
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 4, ADDITIONAL: 7
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 1e0b65dfd33315b6bc2349ad62c6e63e29053e3335111deb (good)
;; QUESTION SECTION:
;repubblica.it. IN A
;; ANSWER SECTION:
repubblica.it. 60 IN A 143.204.176.99
repubblica.it. 60 IN A 143.204.176.3
repubblica.it. 60 IN A 143.204.176.9
repubblica.it. 60 IN A 143.204.176.118
;; AUTHORITY SECTION:
repubblica.it. 10729 IN NS ns-353.awsdns-44.com.
repubblica.it. 10729 IN NS ns-1541.awsdns-00.co.uk.
repubblica.it. 10729 IN NS ns-723.awsdns-26.net.
repubblica.it. 10729 IN NS ns-1477.awsdns-56.org.
;; ADDITIONAL SECTION:
ns-723.awsdns-26.net. 172758 IN A 205.251.194.211
ns-1477.awsdns-56.org. 172745 IN A 205.251.197.197
ns-1541.awsdns-00.co.uk. 172723 IN A 205.251.198.5
ns-723.awsdns-26.net. 172758 IN AAAA 2600:9000:5302:d300::1
ns-1477.awsdns-56.org. 172745 IN AAAA 2600:9000:5305:c500::1
ns-1541.awsdns-00.co.uk. 172723 IN AAAA 2600:9000:5306:500::1
;; Query time: 80 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Thu Jul 07 15:57:18 CEST 2022
;; MSG SIZE rcvd: 406
---
### Un esempio più semplice:
La commutazione di circuito (telefono)
--
### commutazione di pacchetto
e il multiplex
--
<iframe data-src="https://www.youtube.com/embed/CcoedteNOL4"></iframe>
---
### per costruire una rete locale basta un cavo tra due pc?
indirizzi ip e dhcp in rete locale
strati di tecnologie coinvolte, con una semplificazione potremmo dire almeno tre
- livello fisico (ethernet)
- livello di collegamento (mac-address)
- livello di rete (ip)
---
### architettura iso/osi
--
<div style="height: 90vh !important">
![modelloosi](/images/rete_osi.png)
</div>
--
![modelloosi2](/images/rete_osi_2.jpeg);
--
- livello fisico
- livello di collegamento
- livello di rete
- livello di trasporto
- livello di sessione
- livello di presentazione
- livello di applicazione
---
### architettura internet
modello a clessidra
![modelloclessidra](/images/rete_clessidra.jpeg)
---
### protocolli e porte
- ftp, File Transfer Protocol (client-server)
- http, HyperText Transfer Protocol
- https, Hypertext Transfer Protocol Secure
- smtp, Simple Mail Transfer Protocol
- imap, Internet Message Access Protocol
- ssh, Secure Shell
---
### esempio: cos'è una pagina web?
un insieme di file per comporla
Schema comune:
- struttura (html),
- grafica (css),
- azioni (javascript)