Documentos de Académico
Documentos de Profesional
Documentos de Cultura
_______________________________________________________________________________________________
OBJETIVOS:
Familiarizar al alumno con los comandos básicos de CLI de Linux a nivel de usuario.
Identificar las interfaces de comunicación de la computadora
Familiarizar al alumno con el escenario del laboratorio y el acceso a los switches y routers
desde la consola de Linux.
Familiarizar al alumno con el programa de captura y análisis de protocolos de red :
wireshark
INTEGRANTES
1 Alex Pocohuanca
3 Desempeño 5 pts.
1.1. Kernel
Los Sistemas operativos se dividen en tres partes: hardware, kernel y espacio de usuario. A
continuación, se presenta una imagen donde se puede apreciar el nivel jerárquico y seguridad
que presentan estos tres.
este entorno es más sencillo, sobre todo para usuarios novatos. Sin embargo, el uso de CLI
provee mayor flexibilidad y control para la administración del sistema y su configuración.
Actualmente, los terminales físicos ya no se usan y en su reemplazo aparecieron los terminales
virtuales. Estos terminales reconocen el texto ingresado y emulan el comportamiento de un
terminal físico. Para acceder a un terminar virtual se hace uso de una combinación de teclas.
La comunicación entre el terminal y el Shell se logra usando un archivo dentro del sistema de
nombre /dev/ttyX (donde la X representa al número de la consola virtual). Para saber el
terminal que se está usando se utiliza el comando tty.
Mientras Linux comienza a cargar, se pueden acceder a seis terminales usando CTRL+ALT+F1….
CTRL+ALT+F6. En el caso de que Linux tenga una GUI, es posible entrar a una consola virtual
denominado terminal emulator o pseudo-terminal. Para inicializar el pseudo-terminal se usa la
combinación de teclas ALT+F2 y luego se usa el comando gnome-terminal o xterm. Otra forma
es yendo a MENU-> Accesorios-> Terminal dos maneras.
Aquí, el tipo indica si se trata el registro como un directorio (tipo d) o como un archivo
(tipo -). En cuanto a los permisos en sí, se distingue entre los permisos para archivos y
para directorios. Para archivos los símbolos significan:
• r (read): autorización para ver el contenido del archivo – permiso de lectura,
• w (write): autorización para modificar el contenido del archivo – permiso de escritura,
• x (execute): autorización para ejecutar el archivo como programa – permiso de
ejecución.
Para directorios significan:
• r: permiso para mostrar el contenido del directorio,
• w: permiso para crear y borrar ficheros y subdirectorios,
• x: permiso para entrar en el directorio.
tux@tierra: ~ > ls -l
-rw-r--r-- 1 tux users 6 Aug 1 10:33 hola.txt
drwx------ 2 tux users 1024 Aug 10 09:58 Mail
En el caso del ejemplo anterior, los permisos significan, para el archivo hola.txt, que
todos los miembros del grupo users y todos los demás usuarios del sistema pueden
leer el archivo hola.txt, mientras que sólo el propietario tux con cd Mail puede entrar
en el directorio.
Los permisos del archivo pueden ser dados como adición, sustracción o
explícitamente.
Válidos serían, por ejemplo:
chmod u+x El propietario obtiene el permiso de ejecutar el archivo.
chmod g=rw Todos los miembros del grupo pueden leer y escribir.
chmod u=rwx El propietario recibe todos los permisos.
chmod u=rwx,g=rw,o=r El propietario tiene todos los permisos, el grupo
tiene permiso para leer y escribir, y el resto de los usuarios, permiso de lectura.
chmod +x Todos los usuarios (propietario, grupo y demás) obtienen el
permiso para ejecutar el archivo.
chmod a+x Todos los usuarios (propietario, grupo y demás)
obtienen el permiso para ejecutar el archivo.
Junto a la escritura con letras, existe también la escritura octal: los símbolos “rwx” se
pueden representar también mediante cifras:
r w -
4 2 - => 4+2 = 6
r - x
4 - 1 => 4+1 = 5
Editores de texto:
Los editores de texto que se utilizaran en el Laboratorio son el vi, vim, nano, pico, mcedit,
gedit,etc.
$ nano /home/user1/test1.
Directorios:
cd “change directory”
o cd con un parámetro: cambia al directorio indicado.
o cd sin parámetro: cambia al directorio home propio.
pwd . “print working directory”
o pwd indica el “path” del directorio actual.
ls “list”
o ls sin parámetro muestra el contenido del directorio actual.
o ls con parámetro muestra información sobre los nombres de los ficheros
especificados.
Archivos:
cp “copy”
El proceso para copiar ficheros es sencillo:
Ejem: cp origen destino
$ cp /home/prueba.txt /home/redes/prueba.txt
mv “move”.
Mueve un archivo a una ruta específica, y a diferencia de cp, lo elimina del origen finalizada la
operación. Tiene la posibilidad de cambiar el nombre en el destino.
Por ejemplo:
$ mv /home/prueba.txt /home/redes/prueba2.txt
rm “remove”.
Para borrar un archivo o directorio.
Ejemplo: Para borrar el archivo prueba.txt ubicado en /home,
ejecutamos:
$ rm /home/prueba.txt
cat
Permite ver el contenido de un archivo sin la necesidad de un editor
Ejemplo:Para ver el contenido del archivo prueba.txt en /home, sería:
$ cat prueba.txt
touch
Crea un archivo vacío, si el archivo existe actualiza la hora de modificación.
Ejemplo: Para crear el archivo prueba1.txt en /home, seria:
$ touch /home/prueba1.txt
clear “clear”.
Comando que limpiara nuestra terminal por completo dejándola como recién abierta.
Para ello ejecutamos:
$ clear
find
Esto buscará la cadena virtual en todos los archivos investiga.txt que existan dentro de las
carpetas existentes en /datos/proyectos/.
Puede ser un problema si tenemos los archivos investiga.txt en rutas totalmente diferentes.
Para combinar estas dos acciones se puede usar el comando xargs que es capaz de ejecutar un
comando sobre los resultados obtenidos por la salida estándar. Esto quiere decir que, en
combinación con grep, ejecutará el comando sobre los resultados de find.
Por ejemplo, si ejecutamos:
$ find / -name “investiga.txt” | xargs grep “virtual”
BONO: Para ver la documentación completa de todos los comandos, se utiliza man que
muestra una documentación completa de cada comando.
Por ejemplo: para ver las opciones del comando ls:
$ man ls
En Linux se puede utilizar el comando ifconfig. Este comando permite verificar y configurar
algunos de los parámetros TCP/IP. Para más información se puede usar man ifconfig.
En algunas versiones de Linux, se utiliza el comando: $ sudo ip addr list; para ver las
interfaces de red de la computadora.
Las tarjetas de red en Linux, utilizando la nomenclatura clásica, para tarjetas de red
Ethernet LAN, se identifican con ethX (X=0, 1, 2, ...), donde X indica el orden de las
interfaces (X=0 primera tarjeta de red; X=1, segunda tarjeta de red. En las versiones
modernas de Linux se utiliza la nomenclatura enpXsY (en: tarjeta ethernet; wl: WAN; ww:
WWAN p: PCI geographical location; s: hotplug slot index number; X: indica el número de
slot de PCI; Y: indica el número de slot hotplug) Este cambio (Predictable Network
Interface Names) pretende asignar identificadores estables a las interfaces de red
basándose en el tipo (local Ethernet, WLAN, WWAN…) y evitar los problemas de la
nomenclatura clásica.
Se observa la dirección IP, Máscara, la dirección MAC de la interface, y los paquetes que
recibe y transmite.
La opción static podría ser reemplazado por dhcp, en tal caso no se utilizar la opción de
configuración dinámica por DHCP.
Ya que se han modificado archivos de configuración del sistema es necesario siempre reiniciar
los servicios asociados a éstos. En este caso habrá que ejecutar.
$ sudo service networking restart
ó
$ sudo /etc/init.d/network restart o
$ sudo systemctl restart networking
Abra una ventana de terminal en su servidor Ubuntu 18.04 (o inicie sesión a través de un shell
seguro). Cambie al directorio / etc / netplan con el comando cd / etc / netplan. Emita el
comando ls y debería ver un archivo llamado 50-cloud-init.yaml. Si tampoco ve un archivo
llamado 01-netcfg.yaml, créelo con el comando sudo touch 01-netcfg.yaml. Antes de editar ese
archivo, necesitamos saber el nombre de nuestra interfaz de red. Emita el comando ip a y
debería ver la interfaz de red de su sistema listada por nombre (Figura A).
Lo que es crucial sobre el diseño de este archivo es no usar exactamente el mismo espaciado
que en mi ejemplo, pero que sea consistente. Si no es coherente con sus sangrías, el archivo
no funcionará. Lo que ve en ese archivo de muestra es todo lo que necesita para configurar esa
dirección IP estática. Tenga en cuenta que no está configurando la dirección de la misma
manera que lo hizo con Ubuntu 16.04. Con el método anterior, configuraba la dirección IP y la
máscara de red de la siguiente manera:
dirección = 192.168.1.206
máscara de red = 255.255.255.0
direcciones: [192.168.1.206/24]
Con el nuevo método, debe reiniciar la red mediante netplan. Entonces, una vez que haya
configurado su interfaz, emita el comando:
Cargue en el navegador una página web; luego seleccionar la interface, en este caso eno, y
empezar la captura de paquetes presionando la opción Start (símbolo de color verde), y
detener la captura presionando Stop (símbolo de color rojo).
En la parte de Filter, podemos escribir una palabra válida que generalmente representa un
protocolo IP/TCP, para poder observar mejor los resultados. La imagen anterior es el resultado
de aplicar el filtro; y sobre este resultado podemos seleccionar una línea, este caso la línea 3
(Frame 3), y en la parte central de la ventana se puede observar los puertos que interviene en
la comunicación IP/TCP.
Cerramos la captura presionando el símbolo X, para empezar una nueva captura.
SWITCH DE 48 PUERTOS
de consola
Verificar con que identificador se detecta el adaptador. Si es cable SERIAL con Interfaz serial
RS-232C, COM 1, se usa ttyS0: /dev/ttyS0
root@marte:~# dmesg | grep tty
Tecleamos “A” para configurar el tty a utilizar y damos enter, después tecleamos “E” para
configurar la velocidad y el bit de paridad: 9600, 8, N, 1. (Vtx, 8 bits de datos, Sin paridad, 1 bit
de parada).
Guardar la configuración seleccionando la opción “Save setup as dfl ” y después elegimos exit.
Listo, ya tenemos configurado minicom para conectarnos a nuestros dispositivos. Switch y
Router.
Realizar las pruebas de conexión serial a un switch y luego a un Router.
Probar emulación de terminal en modo gráfico (tipo Hyperterminal) pueden instalar gtkterm o
cutecom, o putty.
Entrada de consola
Ejercicio 1
Desde una ventana CLI, expandir las secuencias de caracteres entre llaves para
obtener el siguiente resultado
test1a test1c test2b test3a test3c test4b test5a test5c
test1b test2a test2c test3b test4a test4c test5b
leonardo@leonardo-VirtualBox:~$ cd Documentos/
leonardo@leonardo-VirtualBox:~/Documentos$ mkdir test{1,2,3,4,5} {a,b,c}
leonardo@leonardo-VirtualBox:~/Documentos$ ls
Ejercicio 2
En una consola, mediante el uso de un editor, crear un script ejecutable que diga: ¡Hola
Linuxeros de la Utec!
TIPS: use: echo ¡Hola, Linuxeros UTEC!
grabe el archivo creado con el nombre de hola en la carpeta
/home/usuario/Documentos.
Haga el archivo ejecutable con el comando
chmod +x /home/usuario/Documentos/hola.
Ejecute el archivo hola: ./hola
leonardo@leonardo-VirtualBox:~/Documentos$ ./hola.sh
Ejercicio 3
Utilizar los comandos y parámetros apropiados para visualizar la estructura de directorios y
subdirectorios de Linux
leonardo@leonardo-VirtualBox:~/Documentos$ sudo su
sudo contraseña para leonardo:
root@leonardo-VirtualBox:/home/leonardo# tree / | more
root@leonardo-VirtualBox: apt install tree
Ejercicio 4
Cree un directorio llamado proyectos dentro del directorio home de su usuario y dentro de
este, cree un archivo de texto plano con el siguiente nombre “holautec.c” y escriba un
programita en lenguaje “C” sobre Linux, que muestra el saludo clásico “Hola Linuxeros de la
UTEC”; compilarlo y ejecutarlo.
/ * Programa Hola Linuxeros * /
# i n c l u d e < s t d i o . h>
main ( )
{
p r i n t f ( " Hola Linuxeros de la UTEC \ n " ) ;
}
Compilar y ejecutar:
$ gcc -o holautec holautec.c
$ ./holapucp
Hola Linuxeros de la UTEC
En el recuadro indicar el programa fuente y los comandos de compilación y ejecución:
En el mismo directorio home de su usuario y dentro de este, cree un archivo de texto plano
con el siguiente nombre “holautec.py” y escriba un programita en lenguaje “phyton” sobre
Linux, que muestra el saludo clásico “Hola Linuxeros de la UTEC”; interpretarlo y ejecutarlo.
print “Hola Linuxeros de la UTEC”
Luego ejecutarlo:
python holautec.py
Ejercicio 5
Utilizar los comandos y parámetros apropiados para visualizar la lista de procesos y sus
dependencias entre padres, hijos, nietos, etc. En formato árbol. Así mismo indique usted el
padre de todos los procesos y el proceso que acoge a todos los procesos huérfanos.
En el recuadro indicar los comandos utilizados, parámetros utilizados y parte del resultado:
leonardo@leonardo-VirtualBox:~ $ cd
leonardo@leonardo-VirtualBox:~ $ pstree
Si bien los resultados continúan, podemos observar que el padre de todos es systemd, y los
procesos huérfanos son acogidos por el proceso init
Puntaje:
Tiempo de duración: 100 min.
Ejercicio 1
Desde una consola, ejecute los comandos necesarios para obtener los siguientes datos:
Ejercicio 2
Al realizar el comando:
$sudo ifconfig ó ip addr:
Ejercicio 3
Desde una consola, edite el o los archivos necesarios para cambiar la dirección IP y el Gateway
en la interface de red(use la segunda interface creada en modo internal). Escriba los
comandos utilizados.
IP: 10.11.11.200
Máscara: 255.255.255.0
Gateway: 10.11.11.100