Lab #2 - Osman de Leon
(20 puntos) Utilizando httpie, hagan una solicitud de HTTP al servidor
○ → http http://127.0.0.1
HTTP/1.1 200 OK
Connection: keep-alive
Content-Encoding: gzip
Content-Type: text/html
Date: Sun, 09 Feb 2025 23:13:36 GMT
ETag: W/"67a93468-216c"
Last-Modified: Sun, 09 Feb 2025 23:04:08 GMT
Server: nginx/1.24.0 (Ubuntu)
Transfer-Encoding: chunked
Sistemas y Tecnologías Web | 10
(10 puntos) Utilizando curl, hagan una solicitud de HTTP al servidor
2025-02-10 00:09 ⌚ njs v18.19.1|py |go 9% ip-172-31-31-175 (172.31.31.175) in ~
○ → curl 127.0.0.1
Sistemas y Tecnologías Web | 10
(10 puntos) Utilizando tail dentro del servidor, obtengan las últimas 15 líneas del archivo /var/log/nginx/access.log
2025-02-09 23:23 ⌚ njs v18.19.1|py |go 16% ip-172-31-31-175 (172.31.31.175) in .../log/nginx
○ → sudo tail -n 15 access.log
162.158.11.151 - - [09/Feb/2025:23:20:17 +0000] "GET /23247/telehack/index.txt HTTP/1.1" 200 19504 "https://nrywhite.lat/23247/telehack/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36 Edg/132.0.0.0"
162.158.11.158 - - [09/Feb/2025:23:20:39 +0000] "GET /23236/ HTTP/1.1" 200 197 "https://nrywhite.lat/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"
162.158.11.158 - - [09/Feb/2025:23:20:42 +0000] "GET /23267/ HTTP/1.1" 200 198 "https://nrywhite.lat/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"
162.158.11.158 - - [09/Feb/2025:23:20:43 +0000] "GET /23391/ HTTP/1.1" 200 216 "https://nrywhite.lat/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"
162.158.11.158 - - [09/Feb/2025:23:20:44 +0000] "GET /23428/ HTTP/1.1" 200 215 "https://nrywhite.lat/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"
162.158.11.158 - - [09/Feb/2025:23:20:46 +0000] "GET /23542/ HTTP/1.1" 200 228 "https://nrywhite.lat/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"
162.158.11.158 - - [09/Feb/2025:23:20:53 +0000] "GET /23719/ HTTP/1.1" 200 236 "https://nrywhite.lat/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"
162.158.11.150 - - [09/Feb/2025:23:21:11 +0000] "GET /23719/ HTTP/1.1" 200 236 "https://nrywhite.lat/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"
172.70.54.173 - - [09/Feb/2025:23:22:11 +0000] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36"
172.70.54.173 - - [09/Feb/2025:23:22:16 +0000] "GET /23763/ HTTP/1.1" 200 1821 "https://nrywhite.lat/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36"
172.70.54.173 - - [09/Feb/2025:23:22:40 +0000] "GET /23763/Lab1/ HTTP/1.1" 200 176 "https://nrywhite.lat/23763/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36"
162.158.11.157 - - [09/Feb/2025:23:22:43 +0000] "GET /23208/ HTTP/1.1" 200 214 "https://nrywhite.lat/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"
162.158.11.157 - - [09/Feb/2025:23:22:45 +0000] "GET /23208/lab1/ HTTP/1.1" 200 175 "https://nrywhite.lat/23208/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"
172.70.54.173 - - [09/Feb/2025:23:22:45 +0000] "GET /23763/Lab2/ HTTP/1.1" 200 176 "https://nrywhite.lat/23763/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36"
162.158.11.157 - - [09/Feb/2025:23:22:46 +0000] "GET /23208/lab1/lab1.txt HTTP/1.1" 200 11077 "https://nrywhite.lat/23208/lab1/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"
(10 puntos) Utilizando ps y grep identifiquen qué procesos está corriendo amazon dentro del servidor
2025-02-09 23:24 ⌚ njs v18.19.1|py |go 11% ip-172-31-31-175 (172.31.31.175) in /var
○ → ps aux | grep -i amazon
root 526 0.0 1.2 1759296 12492 ? Ssl 21:15 0:01 /snap/amazon-ssm-agent/11092/amazon-ssm-agent
root 955 0.0 1.8 1860804 17868 ? Sl 21:15 0:02 /snap/amazon-ssm-agent/11092/ssm-agent-worker
ubuntu 30038 0.0 0.2 6944 2176 pts/13 S+ 23:26 0:00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn -i amazon
(10 puntos) Utilizando dig dentro del servidor, obtengan la ip que resuelve al hacer un dns lookup uvg.edu.gt
2025-02-09 23:35 ⌚ njs v18.19.1|py |go 70% ip-172-31-31-175 (172.31.31.175) in /var
○ → dig dns lookup uvg.edu.gt
; <<>> DiG 9.18.30-0ubuntu0.24.04.2-Ubuntu <<>> dns lookup uvg.edu.gt
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 17860
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;dns. IN A
;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Sun Feb 09 23:35:38 UTC 2025
;; MSG SIZE rcvd: 32
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 4870
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;lookup. IN A
;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Sun Feb 09 23:35:38 UTC 2025
;; MSG SIZE rcvd: 35
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43314
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;uvg.edu.gt. IN A
;; ANSWER SECTION:
uvg.edu.gt. 18 IN A 45.223.56.41
uvg.edu.gt. 18 IN A 45.223.155.41
;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Sun Feb 09 23:35:38 UTC 2025
;; MSG SIZE rcvd: 71
(5 puntos) Cuanta memoria RAM, total usada y libre, tiene el servidor? (su respuesta debe estar en MB)
2025-02-09 23:38 ⌚ njs v18.19.1|py |go 9% ip-172-31-31-175 (172.31.31.175) in /var
○ → free -m
total used free shared buff/cache available
Mem: 957 529 128 1 491 428
Swap: 0 0 0
(5 puntos) Cuanta espacio de disco, total usado y disponible, tiene el servidor? (su respuesta debe estar en MB)
2025-02-09 23:38 ⌚ njs v18.19.1|py |go 0% ip-172-31-31-175 (172.31.31.175) in /var
○ → df -h --total
Filesystem Size Used Avail Use% Mounted on
/dev/root 29G 7.6G 21G 27% /
tmpfs 479M 0 479M 0% /dev/shm
tmpfs 192M 1.1M 191M 1% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/xvda16 881M 76M 744M 10% /boot
/dev/xvda15 105M 6.1M 99M 6% /boot/efi
tmpfs 96M 16K 96M 1% /run/user/1000
total 30G 7.6G 23G 26% -
(5 puntos) Utilizando el comando ip obtengan la ip del servidor
2025-02-09 23:56 ⌚ njs v18.19.1|py |go 9% ip-172-31-31-175 (172.31.31.175) in ~
○ → ip -4 addr show | grep inet
inet 127.0.0.1/8 scope host lo
inet 172.31.31.175/20 metric 100 brd 172.31.31.255 scope global dynamic enX0
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
(10 puntos) lsof lista los archivos abiertos. Identifiquen los archivos abiertos por el protocolo TCP en el puerto 80
2025-02-09 23:59 ⌚ njs v18.19.1|py |go 0% ip-172-31-31-175 (172.31.31.175) in ~
○ → sudo lsof -i tcp:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 595 root 5u IPv4 6811 0t0 TCP *:http (LISTEN)
nginx 595 root 7u IPv6 6813 0t0 TCP *:http (LISTEN)
nginx 597 www-data 5u IPv4 6811 0t0 TCP *:http (LISTEN)
nginx 597 www-data 7u IPv6 6813 0t0 TCP *:http (LISTEN)
(20 puntos) Utilizando netstat, listen los puertos por los que está escuchando el servidor. Deben filtrar usando las siguientes opciones de netstat (esto es un solo comando con estas opciones):
tcp
udp
numeric (muestra los puertos por número)
program (muestra qué programa es el que está escuchando)
2025-02-10 00:16 ⌚ njs v18.19.1|py |go 0% ip-172-31-31-175 (172.31.31.175) in ~
○ → sudo netstat -tulnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.54:53 0.0.0.0:* LISTEN 301/systemd-resolve
tcp 0 0 0.0.0.0:90 0.0.0.0:* LISTEN 1107/docker-proxy
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 595/nginx: master p
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 595/nginx: master p
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 301/systemd-resolve
tcp6 0 0 :::10 :::* LISTEN 1/init
tcp6 0 0 :::90 :::* LISTEN 1117/docker-proxy
tcp6 0 0 :::80 :::* LISTEN 595/nginx: master p
udp 0 0 127.0.0.54:53 0.0.0.0:* 301/systemd-resolve
udp 0 0 127.0.0.53:53 0.0.0.0:* 301/systemd-resolve
udp 0 0 172.31.31.175:68 0.0.0.0:* 465/systemd-network
udp 0 0 127.0.0.1:323 0.0.0.0:* 594/chronyd
udp6 0 0 ::1:323 :::* 594/chronyd
(30 puntos) Utilizando ss, listen los puertos por los que está escuchando el servidor. Deben filtrar usando las siguientes opciones de ss (esto es un solo comando con estas opciones):
summary
tcp
conexiones establecidas
resuelvan los puertos numericos
uso de memoria
información interna de tcp
proceso que usa el socket
2025-02-10 00:17 ⌚ njs v18.19.1|py |go 0% ip-172-31-31-175 (172.31.31.175) in ~
○ → sudo ss -t -e -a -p -n -l
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 4096 127.0.0.54:53 0.0.0.0:* users:(("systemd-resolve",pid=301,fd=17)) uid:991 ino:4285 sk:4 cgroup:/system.slice/systemd-resolved.service <->
LISTEN 0 4096 0.0.0.0:90 0.0.0.0:* users:(("docker-proxy",pid=1107,fd=4)) ino:9113 sk:5 cgroup:/system.slice/docker.service <->
LISTEN 0 511 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=597,fd=5),("nginx",pid=595,fd=5)) ino:6811 sk:6 cgroup:/system.slice/nginx.service <->
LISTEN 0 511 0.0.0.0:443 0.0.0.0:* users:(("nginx",pid=597,fd=6),("nginx",pid=595,fd=6)) ino:6812 sk:7 cgroup:/system.slice/nginx.service <->
LISTEN 0 4096 127.0.0.53%lo:53 0.0.0.0:* users:(("systemd-resolve",pid=301,fd=15)) uid:991 ino:4283 sk:8 cgroup:/system.slice/systemd-resolved.service <->
LISTEN 0 4096 *:10 *:* users:(("sshd",pid=1327,fd=3),("systemd",pid=1,fd=90)) ino:5962 sk:9 cgroup:/system.slice/ssh.socket v6only:0 <->
LISTEN 0 4096 [::]:90 [::]:* users:(("docker-proxy",pid=1117,fd=4)) ino:9165 sk:a cgroup:/system.slice/docker.service v6only:1 <->
LISTEN 0 511 [::]:80 [::]:* users:(("nginx",pid=597,fd=7),("nginx",pid=595,fd=7)) ino:6813 sk:b cgroup:/system.slice/nginx.service v6only:1 <->