Comandos de Red II

De notas.romsolutions.es
Ir a la navegación Ir a la búsqueda

dig

Información sobre una web

dig www.hola.co

Consulta inversa

dig ip_hola_._com

Question Section

Tiene que ver con la pregunta que le hacemos al servidor, es decir, es este caso hemos preguntado por la Opción A. Podemos preguntar por A, AAAA, CNAME, MX, NS.

Authority

Nos esta diciendo que la repuesta no la obtiene de sus propios datos almacenados, sino que ha tenido que preguntarlo a otro servidor DNS.

Encontrar ipv6

dig www.rebelion.org AAAA

Encontrar alias

dig www.rebelion.org CNAME

Opciones dig

  • no-course: Marcamos si queremos o no consultas recursivas
  • trace: Nos permite ver que dns hay por encima del que estamos consultado. Nos permite marcar una ruta hacia los DNS superiores.
  • short (seria una combinació de +nostats, +nocomments i algun més). Da una respuesta concisa, el modo por defecto es “verbose” que esta más detallado.
  • tries=4. Nos sirve para establecer el número de intentos que hace la consulta UDP hacía el servidor. Por defecto son 3 intentos.
  • time=3. Nos sirve para establecer el tiempor que estará intentando hacer la consulta. El valor por defecto son 5 segundos.

Whois

Es un protocolo TCP basado en petición/respuesta que se utiliza para efectuar consultas en una base de datos y 
permite determinar el propietario de un nombre de dominio o una dirección IP en Internet.

Webs whois

https://whois.icann.org https://who.is http://whois.domaintools.com

dpkg y apt

/etc/service

Aquí podemos ver los puertos que estan establecidos en IANA y en Linux para las configuraciones y servicios por defecto.

/etc/network

En este fichero podemos aprecias las redes conocidas por el equipo.

/etc/protocols

Aquí podemos apreciar los protocolos conocidos por el sistema.

dpkg -S

Nos permite averiguar que paquete hizo la instalación de un fichero. dpkg -S /etc/network.

dpkg -L

Nos permite averiguar que otros ficheros posee un paquete instalado o no. dpkg -L netbase.

dpkg -s

Nos muestra información sobre el paquete como puede ser la importancia que tiene en el sistema, si esta instalado, versión, etc. dpkg -s paquete_a_consultar.

dpkg -l

También nos muestra información sobre el paquete aunque este con información más precisa y no tan detallada.

apt search

Compara en los repositorios que tengamos instalados el nombre del paquete que le pongamos y nos muestra los paquetes que podríamos instalar.

which /ruta/ejecutable

Busca ficheros ejecutables dentro del path cuyo nombre coincida con el nombre de los argumentos.

Archivos de red

/proc/sys/dev/ipv4/icmp_echo_ignore_all

Si ponemos el valor a 1 en este archivo el servidor ignorará todas las peticiones ICMP ECHO que se le envien.

/proc/sys/dev/ipv4/icmp_echo_ignore_broadcast

Si ponemos el valor a 1 en este archivo no podríamos conectarnos a ningún tipo de red.

/proc/sys/dev/ipv4/ip_forward

Permite el envio de paquetes entre interfaces.

/proc/net/dev

Aquí Se puede apreciar el trabajo que están haciendo las redes actualemente. Básicamente se aprecian los bytes y paquetes, enviados y recibidos. Errores que se haigan podido producir, etc.

/proc/net/route

Se ven información sobre las interfaces y sus conexiones. Aunque algunos de estos datos aparecen en formato hexadecimal.

/proc/net/arp

Podemos apreciar todos las conexiones de la red.

mtr

Realizar trazos de las comunicaciones de un equipo. Podemos apreciar el envio de paquetes a esta dirección de la LAN, además de:

  • Paquetes perdidos. Loss%
  • Paquetes enviados. Snt
  • Velocidad del último paquete enviado. Last
  • Velocidad media de los paquetes enviados. Avg
  • El paquete que se ha enviado más rápido. Best
  • El paquete más lento. Wrst.
  • La calidad de los paquetes enviados, lentos o rápidos.StDev

mtr --tcp

Obliga a mtr a enviar paquetes TCP en vez de UDP que sería lo normal.

mtr -n

Vemos las direcciones ip de los nombres asignados en los DNS

mtr -c

Indicamos el número de pings que queremos que haga.

mtr -r

webs mtr

http://www.traceroute.org/#USA http://www.yougetsignal.com/tools/visual-tracert/ http://www.ip-tracker.org/locator/ip-lookup.php

  • ip-tracker. Nos muestra información de la localización de la dirección IP, además nos aporta información sobre los servidores de nombres, su nombre inverso, su hostname en la red, información sobre el ISP, información atmósferica. También tiene otras herramientas disponibles como, chequeo en listas negras o test de velocidad de la red.

https://www.iplocation.net

  • iplocation. Nos muestra información sobre la dirección Ip o nombre de dominio que pongamos en el buscador de la web. Entre ellas esta la latitud y la longuitud de la posición de esta. Tambíen nos ofrece otras herramientas como verificación y rastreo de direcciones de email, chequeos de proxy y calculadoras de subredes.

SS

ss -tun

Muestra las direcciones ip de las últimas conexiones realizadas con nuestro equipo a otras redes o direcciones ip. Con la opción -t mostramos los paquetes TCP, con la opción -u mostramos los paquetes UDP y con la opción -n muestra los puertos que se están utilizando.

ss -l / ss -a

Si no añadimon ningún parámetro ss nos muestra todas las conexiones realizadas por el sistema, incluidas las conexiones locales de los sockets de UNIX.

  • Opción -l. Nos muestra los sockets que están en escucha.
  • Opción -a. Nos muestra todos los sockets disponibles.

ss -p

Esta parámetro únicamente funciona accediendo a ss como root, el parámetro -p nos muestra los procesos que están utilizando un socket.

watch -n 2 ss-tun

Con el comando watch hacemos que la pantalla se refresque cada dos segundos.

netcat nc

  • Opción -l. Indicamos a netcat que debe escuchar una conexión entrante por un puerto específico.
  • Opción -p. Se utiliza para indicar el puerto que queremos que nc use.
  • Opción -v. Modo verbal, que nos muestran las acciones o escuchas que ocurren en el momento.
  • Opción -u. Para usar paquetes UDP en vez de TCP que son los que viene por defecto.
  • Opción -w. Rechaza las conexiones que no se han realizado en el tiempo que determinemos, no afecta a la opción -l que siempre se mantendrá en escucha.

SERVIDOR nc -l p 5588

Estamos a la escucha de la conexiones entrantes en el puerto 5588

CLIENTE nc ipservidor 5588

Mandamos paquetes TCP a la ip del servidor al puerto 5588

SERVIDOR nc -l -u -p 5555 < archivo

Estamos a la escucha de los paquetes UDP que entran en el puerto 5555, estos datos viene del archivo.

CLIENTE nv -u -w 10 ipservidor 5555 > archivo

Enviamos paquetes UDP y siempre que la conexión sea inferior a 10 seg. guardamos la información en el fichero.


SERVIDOR nc -l -p 6789

Estamos a la escucha en el puerto 6789

CLIENTE echo "QUIT" | nc -v ipserver 6789

SERVIDOR nc -v -l -p 8888 | dd of=archivo.iso

Estamos en la escucha en modo verbose del puerto 8888 y lo guardamos todo en una archivo.iso mediante el comando dd y su segundo paso el of.

CLIENTE dd if=/dev/sda | nc ipserver 8888

Mandamos por el puerto 8888 el flujo de datos para crear una copia de sda.

Cabeceras HTTP con nc

printf "GET / HTTP/1.0/r/n/r/n" | nc www.redhat.com 80 > pagina.html cat pagina.html

Resumen

nc -l v -p 50499. Ponemos el servidor en modo escucha ss -tunl | grep 50499. Comprobamos en el servidor que el servicio esta funcionando. nv -C localhost 50499. Desde el cliente nos conectamos.

En la terminal del primer comando podemos apreciar la conexión.


Curl

Opciones curl

La opción -o nos guarda el resultado de la consulta con curl en un archivo.
La opción -O nos guarda el resultado de la consulta en un archivo con el nombre de la url.
La opción -C nos permite continuar una descarga que había sido cortadao previamente.
La opción -I Captura únicamente las cabeceras HTTP, cuando la consulta es a un FTP o un archivo, curl solo nos mostrará el tamaño y la fecha de la última modificiación.
La opción -s pone a curl en modo silencioso y no muestra las métricas o errores.
La opción -v modo verbose, se usa para debug y ver  que esta haciendo.
La opción -H nos muestras una cabecera extra cuando se envía una petición a un servicio HTTP.
La opción -L Si el servidor reporta que algunas de sus páginas han sido movidas de sitio, esta opción hace que curl se reorganize optioniendo la posición actual de las páginas.

Cabeceras Principales

Con esta comando estamos pidiendo únicamente las cabeceras principales, como mínino tenemos que tener la 200, que quiere decir que todo esta funcionando bien, en este caso también obtenemos una cabecera de moviento de páginas.
curl -ILs https://www.twitter.com | grep "HTTP/"

Enlaces principales

Nos muestra el enlace a la página www.makeuseof.com que viene desde twitter.
curl -sIL http..... | grep "^Location"

Solo lo del grep

Al utilizar la opción -s únicamente lo que ha capturado el grep, en este caso la cantidad de seguidores.
Curl -s https://twitter.com/encampanya | grep -o "[0-9,]* Seguidores"

Barra de progreso

Nos muestra una barra de progreso, es este caso una copa llenándose.
curl -s http://artscene.textfiles.com/vt100/wineglas.vt | pv -L9600 -q

Descarga de fichero

Nos guarda el archivo Linux-Voice-Issue-016.pdf
curl -O -C - https://www.linuxvoice.com/issues/016/Linux-Voice-Issue-016.pdf

Bandeja entrada Motor RSS

Este comando nos muestra los mensajes que tenemos en nuestra bandeja de entrada a través del motor RSS, que nos crea una respuesta en xml para obtener solo una línea. He añadido al  comando la siguentes opciones para contar cuantas veces   aparece la palabra email en al respuesta:
curl -u raulolmedom@gmail.com:password -s "https://mail.google.com/mail/feed/atom" | grep "Raúl" | wc -w
curl -u usuariGmail:contrasenyaGmail -s "https://mail.google.com/mail/feed/atom"

Cabeceras de todas las imágenes de la web

Obtenemos la cabeceras con curl de todas las imágenes que tenga la web
Filtrando el resultado con grep y las expresiones regulares para que únicamente con los archivos que tengan el formato png o jpg.
Con cut cortamos y mostramos únicamente lo que hay después de las primeras comillas, que en este caso son los enlaces a las imágenes de la web
curl http://concept-art.tumblr.com/ | grep -o 'src="[^"]*.[png-jpg]"' | cut -d\" -f2

Crear enlaces aleatorios

cat archivo.txt | curl -F 'clbin=<-' https://clbin.com
cat scripcurl.sh || curl -F 'clbin=<-' https://clbin.com
Hemos creado un enlace con el contenido del archivo, este se puede visitar desde cualquier navegador

Consulta dominio específicando Ip

curl https://DOMAIN.EXAMPLE --resolve 'DOMAIN.EXAMPLE:443:192.0.2.17'