(20 puntos) Utilizando httpie, hagan una solicitud de HTTP al servidor http GET http://localhost HTTP/1.1 200 OK Connection: keep-alive Content-Encoding: gzip Content-Type: text/html Date: Wed, 12 Feb 2025 20:21:55 GMT ETag: W/"67ad01dc-2b88" Last-Modified: Wed, 12 Feb 2025 20:17:32 GMT Server: nginx/1.24.0 (Ubuntu) Transfer-Encoding: chunked tambien da el contenido del index.html pero por el espacio no lo coloco. ----------------------------------------------------------------------------------------------------------- (10 puntos) Utilizando curl, hagan una solicitud de HTTP al servidor curl http://localhost Sistemas y Tecnologías Web | 10

NryWhite

Visca Barca

(5 puntos) Que pasa si tratan de hacer una solicitud de HTTP desde el servidor hacia su computadora? curl http://172.20.10.14 ^C 2025-02-12 20:31 ⌚ njs v18.19.1|py |go 10% ip-172-31-31-175 (172.31.31.175) in ~ ○ → ping 172.20.10.14 PING 172.20.10.14 (172.20.10.14) 56(84) bytes of data. no me aparecio nada, hice un ping y tiene conexion ----------------------------------------------------------------------------------------------------------------------------------- (10 puntos) Utilizando tail dentro del servidor, obtengan las últimas 15 líneas del archivo /var/log/nginx/access.log sudo tail -n 15 /var/log/nginx/access.log 162.158.11.151 - - [12/Feb/2025:20:18:02 +0000] "GET /23089/ HTTP/1.1" 200 310 "https://nrywhite.lat/" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0" 162.158.11.159 - - [12/Feb/2025:20:18:08 +0000] "GET / HTTP/1.1" 200 397 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0" 162.158.11.150 - - [12/Feb/2025:20:18:08 +0000] "GET /assets/index-ye1VBbcc.js HTTP/1.1" 304 0 "https://23089.nrywhite.lat/" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0" 162.158.11.152 - - [12/Feb/2025:20:18:08 +0000] "GET /assets/index-W3JTDQU_.css HTTP/1.1" 200 2862 "https://23089.nrywhite.lat/" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0" 162.158.11.150 - - [12/Feb/2025:20:18:08 +0000] "GET /assets/starlight-BMMAaOPo.gif HTTP/1.1" 304 0 "https://23089.nrywhite.lat/" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0" 162.158.11.152 - - [12/Feb/2025:20:18:08 +0000] "GET /assets/starlight-4-C9jDg229.gif HTTP/1.1" 304 0 "https://23089.nrywhite.lat/" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0" 162.158.11.149 - - [12/Feb/2025:20:18:08 +0000] "GET /assets/starlight_background-B5jI_RtG.gif HTTP/1.1" 304 0 "https://23089.nrywhite.lat/assets/index-W3JTDQU_.css" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0" 162.158.11.150 - - [12/Feb/2025:20:18:08 +0000] "GET /assets/starlight-2-CjhxT_El.gif HTTP/1.1" 304 0 "https://23089.nrywhite.lat/" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0" 162.158.11.148 - - [12/Feb/2025:20:18:08 +0000] "GET /assets/starlight-3-uO0lnkLe.gif HTTP/1.1" 304 0 "https://23089.nrywhite.lat/" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0" 185.242.226.70 - - [12/Feb/2025:20:20:15 +0000] "GET / HTTP/1.1" 200 459 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.190 Safari/537.36" 127.0.0.1 - - [12/Feb/2025:20:21:55 +0000] "GET / HTTP/1.1" 200 2592 "-" "HTTPie/3.2.2" ::1 - - [12/Feb/2025:20:25:49 +0000] "GET / HTTP/1.1" 200 11144 "-" "curl/8.5.0" 78.153.140.180 - - [12/Feb/2025:20:29:41 +0000] "GET /.env HTTP/1.1" 404 196 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.5845.140 Safari/537.36" 78.153.140.180 - - [12/Feb/2025:20:29:43 +0000] "POST / HTTP/1.1" 405 568 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.5845.140 Safari/537.36" 162.158.11.153 - - [12/Feb/2025:20:31:28 +0000] "GET / HTTP/1.1" 200 397 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0" ----------------------------------------------------------------------------------------------------------------------------------- (10 puntos) Utilizando ps y grep identifiquen qué procesos está corriendo amazon dentro del servidor ps aux | grep amazon root 542 0.0 1.2 1759116 12144 ? Ssl 13:06 0:01 /snap/amazon-ssm-agent/9881/amazon-ssm-agent root 914 0.0 1.9 1850868 18816 ? Sl 13:06 0:06 /snap/amazon-ssm-agent/9881/ssm-agent-worker ubuntu 36592 0.0 0.2 7076 2048 pts/2 S+ 20:40 0:00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn amazon ----------------------------------------------------------------------------------------------------------------------------------- (10 puntos) Utilizando dig dentro del servidor, obtengan la ip que resuelve al hacer un dns lookup uvg.edu.gt dig uvg.edu.gt ; <<>> DiG 9.18.30-0ubuntu0.24.04.2-Ubuntu <<>> uvg.edu.gt ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48980 ;; 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. 300 IN A 45.223.155.41 uvg.edu.gt. 300 IN A 45.223.56.41 ;; Query time: 79 msec ;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP) ;; WHEN: Wed Feb 12 20:41:01 UTC 2025 ;; MSG SIZE rcvd: 71 ----------------------------------------------------------------------------------------------------------------------------------- (5 puntos) Cuanta memoria RAM, total usada y libre, tiene el servidor? (su respuesta debe estar en MB) free -m total used free shared buff/cache available Mem: 957 487 260 26 405 469 Swap: 0 0 0 ----------------------------------------------------------------------------------------------------------------------------------- (5 puntos) Cuanta espacio de disco, total usado y disponible, tiene el servidor? (su respuesta debe estar en MB) df -m Filesystem 1M-blocks Used Available Use% Mounted on /dev/root 28691 8645 20030 31% / tmpfs 479 26 454 6% /dev/shm tmpfs 192 2 191 1% /run tmpfs 5 0 5 0% /run/lock /dev/xvda16 881 76 744 10% /boot /dev/xvda15 105 7 99 6% /boot/efi tmpfs 96 1 96 1% /run/user/1000 ----------------------------------------------------------------------------------------------------------------------------------- (5 puntos) Utilizando el comando ip obtengan la ip del servidor ip a 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host noprefixroute valid_lft forever preferred_lft forever 2: enX0: mtu 9001 qdisc fq_codel state UP group default qlen 1000 link/ether 0a:ff:d6:c1:6d:a5 brd ff:ff:ff:ff:ff:ff inet 172.31.31.175/20 metric 100 brd 172.31.31.255 scope global dynamic enX0 valid_lft 3097sec preferred_lft 3097sec inet6 fe80::8ff:d6ff:fec1:6da5/64 scope link valid_lft forever preferred_lft forever 3: docker0: mtu 1500 qdisc noqueue state UP group default link/ether 02:42:b0:10:3a:1f brd ff:ff:ff:ff:ff:ff inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0 valid_lft forever preferred_lft forever inet6 fe80::42:b0ff:fe10:3a1f/64 scope link valid_lft forever preferred_lft forever 5: veth3e2c6fb@if4: mtu 1500 qdisc noqueue master docker0 state UP group default link/ether de:40:60:4d:bf:ef brd ff:ff:ff:ff:ff:ff link-netnsid 0 inet6 fe80::dc40:60ff:fe4d:bfef/64 scope link valid_lft forever preferred_lft forever en el caso del servidor la ip seria: 172.31.31.255 que se encuentra dentro de la interfaz enX0 ----------------------------------------------------------------------------------------------------------------------------------- (10 puntos) lsof lista los archivos abiertos. Identifiquen los archivos abiertos por el protocolo TCP en el puerto 80 sudo lsof -i TCP:80 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nginx 10095 root 5u IPv4 39888 0t0 TCP *:http (LISTEN) nginx 10095 root 7u IPv6 39890 0t0 TCP *:http (LISTEN) nginx 10096 www-data 5u IPv4 39888 0t0 TCP *:http (LISTEN) nginx 10096 www-data 7u IPv6 39890 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) sudo netstat -tulnnp 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 309/systemd-resolve tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 309/systemd-resolve tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 10095/nginx: master tcp 0 0 0.0.0.0:90 0.0.0.0:* LISTEN 1136/docker-proxy tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 10095/nginx: master tcp6 0 0 :::10 :::* LISTEN 1/init tcp6 0 0 :::90 :::* LISTEN 1143/docker-proxy tcp6 0 0 :::80 :::* LISTEN 10095/nginx: master udp 0 0 127.0.0.1:323 0.0.0.0:* 613/chronyd udp 0 0 127.0.0.54:53 0.0.0.0:* 309/systemd-resolve udp 0 0 127.0.0.53:53 0.0.0.0:* 309/systemd-resolve udp 0 0 172.31.31.175:68 0.0.0.0:* 480/systemd-network udp6 0 0 ::1:323 :::* 613/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 sudo ss -t -l -n -p -e 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=309,fd=17)) uid:991 ino:4472 sk:7d cgroup:/system.slice/systemd-resolved.service <-> LISTEN 0 4096 127.0.0.53%lo:53 0.0.0.0:* users:(("systemd-resolve",pid=309,fd=15)) uid:991 ino:4470 sk:7e cgroup:/system.slice/systemd-resolved.service <-> LISTEN 0 511 0.0.0.0:443 0.0.0.0:* users:(("nginx",pid=10096,fd=6),("nginx",pid=10095,fd=6)) ino:39889 sk:9a cgroup:/system.slice/nginx.service <-> LISTEN 0 4096 0.0.0.0:90 0.0.0.0:* users:(("docker-proxy",pid=1136,fd=4)) ino:9516 sk:80 cgroup:/system.slice/docker.service <-> LISTEN 0 511 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=10096,fd=5),("nginx",pid=10095,fd=5)) ino:39888 sk:9b cgroup:/system.slice/nginx.service <-> LISTEN 0 4096 *:10 *:* users:(("sshd",pid=1690,fd=3),("systemd",pid=1,fd=90)) ino:6209 sk:82 cgroup:/system.slice/ssh.socket v6only:0 <-> LISTEN 0 4096 [::]:90 [::]:* users:(("docker-proxy",pid=1143,fd=4)) ino:9541 sk:83 cgroup:/system.slice/docker.service v6only:1 <-> LISTEN 0 511 [::]:80 [::]:* users:(("nginx",pid=10096,fd=7),("nginx",pid=10095,fd=7)) ino:39890 sk:9c cgroup:/system.slice/nginx.service v6only:1 <->