Interfaces de red
El primer comando que veremos sera ip
este nos aporta una serie de opciones que nos permitiran tener infomacion sobre nuestra red.
Ip link
Comando completo: ip link
Comando abreviado:ip l
Por lo general la abreviacion de un comando es siempre la primera letra de la palabra que seria si es completa, por ejemplo la abreviacion de
ip address
seriaip a
.
Ip link
nos devolvera las interfaces de red que tenemos dadas de alta en nuestro sistema.
Si miramos bien la salida que nos devolvio el comando, veremos:
- lo LOOPBACK : Esta interfaz es virtual no esta asociada con ninguna tarjeta de red fisica de nuetro sistema. Esta hace referencia a nuestra propia maquina. Por ejemplo cuando hacemos ping a nuestro
localhost
lo que hace es usar esta interfaz lookback.
Luego de esta, todas las demas tendremos los dispositivos fisicos.
Ip l show dev interfaz
Este comando nos permite obtener toda la informacion de una interfaz dada:
ip l show dev enp6s0
Con esto veremos, el nombre de la interfaz (en mi caso enp6s0), la mac address, si el dispositivo esta up o down entre otros detalles.
Ip -s link
Este comando nos permite ver las stats de cada interfaz.
Ip l ls up
ip l ls up
: Nos retorna las interfaces que tenemos en status up
Ip l set interfaz down/up
ip l set enp6s0 down
: apagaria esa interfaz y nos quedos sin intenet. xddd
ip l set enp6s0 up
: enciente la interfaz.
Direcciones Ip
Ip a
Si tiramos el comando ip a
veremos lo mismo que antes pero con un poco mas de
informacion, nos da adicionalmente la ipv4 y la ipv6.
- En lookback siempre veremos 127.0.0.1.
- En la otra interfaz veremos la direccion ip interna , algo como 192.168.0.10.
Podemos tambien filtrar si queremos solo las ipv4 con -4
o ipv6 con -6
ip -4 a
De esta manera obtenemos todas las interfaces solo con su ipv4
Podemos tambien combinar con show dev
asi :
ip -4 a show dev enp6s0
Agregando nuevas direcciones
sudo ip a add 192.168.0.150/24 dev enp6s0
Eliminando direcciones
sudo ip a del 192.168.0.15./24 dev enp6s0
Routing
ip route
Este comando nos permite ver la tabla de rutas, este es como un mapa donde le permite saber al sistema por donde salir.
Por ejemplo si hacemos el comando ip route
veremos un campo
default y una ip, esa ip es el de nuestro router, por donde
saldran todas nuestras peticiones hacia otras redes(fuera de la red local).
traceroute
Por default no viene instalado ni en ubuntu ni en archlinux, lo instalamos :
sudo apt install traceroute #ubuntu
sudo pacman -S traceroute #archlinux
Nos muestra los saltos que va dando a traves de la red hasta llegar al objetivo.
Hacemos:
sudo traceroute -T www.google.com
veremos como sale por la ip default que dijimos antes.
Agregando route por defecto
sudo ip r add default via 192.168.0.2 dev enp6s0
Cuando vayamos a :
ip r
Veremos que aparece primera y por default. Pero no tendras acceso a internet
Para quitarla :
sudo ip r del default via 192.168.0.2
DHCP y DNS
DHCP
Si no tenemos ip podemos tirar sudo dhclient
y nuestra interfaz
le pedira al servidor dns que le asigne una ip.
DNS
Con dig
podemos ver los dns seteados en nuestra pc.
Para cambiar los dns por defecto por los de google temporalmente hasta el proximo reinicio.
sudo vim /etc/resolv.conf
y donde dice nameserver 127.0.0.x
podemos nameserver 8.8.8.8
Curl Wget
Estos nos sirven tanto para enviar informacion a un servidor como para descargar infomacion de un server.
Curl
No vienen instalado por defecto.
sudo apt install curl #ubuntu
sudo pacman -S curl #arch
curl
nos permite hacer peticiones a apis, configurando sus encabezados,
su body entre otras cosas.
Tambien nos sirve para descargar el html puro, por ejemplo
curl https://www.winrar.com/descargas > winrar.html
Tambien permite descargar paginas de manera consecutiva, estilo pagina.com/resource{1...5}.html
Adicionalmente podemos descargar arhivos si tenemos la url de descarga. Entre muchas otras cosas mas como definirla la configuracion de un proxy.
curl -x proxy_name:port url
curl -u user:password -x proxy_name:port url
# Wget
Esta es mas recomendada para desacargar ficheros mas grandes.
wget url_de_descarga
Podemos tambine mandar a 2do plano una descarga e ir monitoreando el avance en
un archivo de log, asi :
wget -b url_de_descarga ls wget-log tail wget-log
Otra situacion seria, tener todas las url de descargas en un arhivo txt. Para eso :
```sh
wget -i fichero.txt
A diferencia de curl
podemos descargar las paginas ,pero estas contendran tambien la
estetica.
wget -o pagina https://la-web-a-descargar.com
ssh
Nos permite establecer una conexion remota por terminal.
ssh
es el client, el cual se conectara a la otra pc.
La otra pc tiene que tener activado el servicio/servidor OpenSSH
sudo apt install openssh-server
sudo service ssh status
Con la maquina cliente podemos
ssh usuarioRemoto@ipv4
ssh perro@192.168.0.10
perro
es un usuario de la maquina remota. Nos pedira la contrasenia
de ese usuario.
FTP
FTP es un protocolo que sirve para intercambiar ficheros entre maquinas.
Vamos a necesitar una maquina con FTP cliente que se conectara a una maquina remota que nescesitara un app FTP server.
Toda la infomacion transferia por ftp va en plano, esto quiere decir que si nos estan sniffeando la red, el atacante prodra ver lo que estamos haciendo.
Si queres hacer el ejercicio, podes instalar en otra el very secure ftp que permite tener un server ftp.
sudo apt install vsftpd
sudo service ftp status
Una vez tengas corriedo el server, vamos a la otra pc y ponemos:
ftp ip_de_la_pc_server_ftp
Nos preguntara con que usuario nos queremos logear y la password.
Una vez dentro tendremos un promp ftp con el cual podremos hacer cositas.
#traer fichero
get fichero1.txt
#llevar de local al server
# pero no nos dejara por seguridad
put fichero2.txt
ftp nos permite listar y navegar entre los ficheros remotos
Cambiando el comportamiento del server ftp para permitir recibir archivos
sudo vim /etc/vsftpd.conf
# Descomentamos
write_enable=YES
Reiniciamos el servicio.
sudo service vsftpd
Para ver mas comando podemos poner help
Un comando interesante es que podemos tirar !
y eso no sacara
nuestro fichero local, luego cuadno queremos volver al ftp
ponemos exit y volvemos a la session ftp.
SFTP (secure file transfer protocol)
Lo mismo que ftp pero cifrado
sftp user@ip_de_la_pc_server_ftp
Visualizacion de conexiones
Ver conexiones remotas establecidas TCP
ss -ta
Ver conexiones remotas establecidas UDP
ss -ua
Ver conexiones remotas establecidas
ss -t
Ver conexiones en escucha
ss -l
Netstat
sudo apt install net-tools
Comando netstat -nr
se utiliza en sistemas Unix/Linux para mostrar la tabla de rutas del sistema de manera numérica.
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 eth0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
Es lo mimso que nos daba ip route
pero de una manera mas facil de leer.