Optimización del rendimiento de Linux (ocho) herramientas de prueba de red

Uno, ping

1. Introducción al ping

PING es una herramienta de red que se utiliza para probar la conectividad con hosts de red. PING envía paquetes ICMP ECHO_REQUEST al host de la red y muestra la respuesta. El programa calculará la tasa de pérdida de paquetes según el tiempo y el número de respuestas exitosas.
El comando ping envía un paquete ICMP cada segundo e imprime una línea de salida para cada respuesta recibida. El comando ping calcula el tiempo de ida y vuelta de la señal y las estadísticas de pérdida de paquetes (información), y muestra un breve resumen una vez finalizado. El comando ping finaliza cuando el programa expira o cuando se recibe la señal SIGINT.
Cada solicitud ICMP enviada por PING contiene un protocolo de Internet (IP) y un encabezado ICMP, y la estructura de tiempo se usa para llenar suficientes bytes de datos.

2. El comando ping

ping [-dfnqrRv][-c完成次数][-i间隔秒数][-I网络界面][-l前置载入][-p范本样式][-s数据包大小][-t存活数值][主机名称或IP地址]
-d: Usa la función SO_DEBUG de Socket.
-f: Detección de límites, envía una gran cantidad de paquetes de red al host de red rápidamente.
-n: solo valores de salida.
-q: No muestra ninguna información sobre el paquete transmitido, solo el resultado final.
-r: Ignora la tabla de enrutamiento ordinaria y envía el paquete de datos directamente al host remoto. Suele ser para comprobar si hay algún problema con la interfaz de red de la máquina.
-R: Registra el proceso de enrutamiento.
-v: Muestra el proceso de ejecución de la instrucción en detalle.
-c: Número, especifique el número de paquetes de datos IMCP que se enviarán.
-i: El número de segundos, establece el intervalo para enviar paquetes de datos de red, el valor predeterminado es un segundo.
-I: Especifique la tarjeta de red para enviar paquetes IMCP.
-l: precarga, especifica el paquete de datos enviado antes de enviar el paquete de datos IMCP.
-p: estilo de plantilla, establece el estilo de plantilla que llena el paquete de datos.
-s: número de bytes, especifique el número de bytes de datos que se enviarán, el valor predeterminado es 56, más el encabezado ICMP de 8 bytes, un total de paquetes ICMP de 64 bytes.
-t: valor de supervivencia, establece el valor de supervivencia TTL tamaño.

Dos, tcping

1. Introducción al tcping

TCPING es una especie de comando PING basado en el protocolo TCP, que se utiliza para probar si el paquete de datos puede llegar al host de destino a través del protocolo TCP. tcping puede monitorear el estado de un puerto determinado y también puede detectar la conectividad de la red cuando PING está deshabilitado.
Código fuente: https://github.com/jlyo/tcping
Instalación en línea: yum install tcping

2. comando tcping

tcping -p port hostname
tcping -p port -c 1 hostname

Tres, psping

1. Introducción a PsPing

PsPing es uno de los comandos del conjunto de herramientas Microsoft PSTools, que puede realizar pruebas ICMP Ping, TCP Ping, pruebas de retardo de red TCP / UDP y pruebas de ancho de banda. PsPing solo es compatible con el sistema Windows.

2. Prueba de ping ICMP

psping -? i
Ver los parámetros de comando relacionados con el ping ICMP
psping [-t|-n count[s]] [-i interval] [-w count] [-q] [-h [buckets|val1,val2,...]] [-l requestsize[k]] [-6|-4] destination
-4: especificar el uso de la conexión IPv4
-n: especificar el número de paquetes de ping formales
-w: especificar el número de paquetes de ping de preparación, es decir, cuántas conexiones de prueba de preparación se realizan antes de la prueba formal
-h: especificar el mínimo y el máximo Retraso en milisegundos
-i: especifica el intervalo en segundos, el ping rápido se establece en 0
-l: especifica el tamaño del paquete de ping, el byte predeterminado, k es la unidad para KB, m es la unidad para MB
-q: no especifica ningún valor durante el ping
-t : Especifique que el ping no se detendrá hasta que Ctrl + C se detenga
psping -4 -n 10 -w 2 -h 10 www.baidu.com
Optimización del rendimiento de Linux (ocho) herramientas de prueba de red

3, ping de TCP

psping -? t
Ver los parámetros de comando relacionados con el ping de TCP
psping [-t|-n count[s]] [-i interval] [-w count] [-q] [-h [buckets|val1,val2,...]] [-6|-4] destination:port
-4: especificar el uso de la conexión IPv4
-n: especificar el número de paquetes de ping formales
-w: especificar el número de paquetes de ping de preparación, es decir, cuántas conexiones de prueba de preparación se realizan antes de la prueba formal
-h: especificar el mínimo y el máximo Retraso en milisegundos
-i: especifica el intervalo en segundos, el ping rápido se establece en 0
-l: especifica el tamaño del paquete de ping, el byte predeterminado, k es la unidad para KB, m es la unidad para MB
-q: no especifica ningún valor durante el ping
-t : Especifique que el ping no se detendrá hasta que Ctrl + C se detenga
psping -n 10 -w 2 -h 10 www.baidu.com:80

4. Prueba de retraso

psping -? l
Ver parámetros de comando relacionados con la prueba de retardo

server:psping [-6|-4] [-f] -s address:port
client:psping -l requestsize[k|m] -n count[s] [-r] [-u] [-w count] [-f] [-h [buckets|val1,val2,..]] [-6|-4] destination:port

-4: especifique la conexión IPv4
-6: especifique la conexión IPv6
-f: abra el puerto del cortafuegos en tiempo de ejecución
-s: especifique la dirección y el puerto de escucha del servidor
-r: reciba datos del servidor
-u: especifique el protocolo UDP, el valor predeterminado es TCP Protocolo
-n: especifica el número de paquetes de ping enviados / recibidos, cuando se especifica s, la unidad es segundos
-h: representa el retardo mínimo y máximo en milisegundos
-l: especifica el tamaño de los paquetes de ping, el valor predeterminado es bytes.
psping -l 1500 -n 300 -h 10 www.baidu.com:80
Optimización del rendimiento de Linux (ocho) herramientas de prueba de red

5. Prueba de ancho de banda

psping -? b
Ver parámetros de comando relacionados con la prueba de ancho de banda de transmisión

server: psping [-6|-4] [-f] -s address:port
client: psping -b -l requestsize[k|m] -n count[s] [-r] [-u [target]] [-i outstanding] [-w count] [-f] [-h [buckets|val1,val2,...]] [-6|-4] destination:port

-b: Prueba de ancho de banda
-4: Especifique el uso de la conexión IPv4-
6: Especifique el uso de la conexión IPv6
-f: Abra el puerto del firewall en tiempo de ejecución
-s: Especifique la dirección de escucha del servidor y el puerto
-r: Reciba datos del servidor
-u: Especifique el uso de UDP Protocolo, el valor predeterminado es el protocolo TCP
-n: especifica el número de paquetes ping enviados / recibidos, cuando se especifica s, la unidad es segundos
-h: representa el retraso mínimo y máximo en milisegundos
-l: especifica el tamaño de los paquetes ping, el valor predeterminado es bytes.
psping -b -l 1500 -n 15000 www.baidu.com:80

Cuatro, paping

1. Introducción al paping

paping es una herramienta de código abierto para probar la conectividad del puerto tcp en Linux. Solo es compatible con TCP pero no con UDP.

2. Comando de paping

paping [options] destination
-p, --port N: especifica el puerto TCP del servicio que se está probando
--nocolor: desactiva la salida de color
-t, --timeout: especifica el período de tiempo de espera, en milisegundos, el valor predeterminado es 1000
-c, --count N: especifica Frecuencia de prueba.

Cinco, hping

1. Introducción a hping

hping es una herramienta de análisis / ensamblaje de paquetes de datos TCP / IP que no solo puede enviar solicitudes de respuesta ICMP, sino que también admite los protocolos TCP, UDP, ICMP y RAW-IP. El modo de ruta de seguimiento de hping puede transferir archivos entre dos canales contenidos mutuamente. hping se usa a menudo para detectar redes y hosts, y puede ejecutarse en múltiples sistemas operativos, como Linux, FreeBSD, NetBSD, OpenBSD, Solaris, MacOs X y Windows.
Las principales funciones de hping son las siguientes:
(1) prueba de firewall
(2) escaneo avanzado de puertos
(3) detección de red, que puede usar diferentes protocolos, tipos de servicio (TOS), fragmentación de IP
(4) detección manual de ruta MTU (unidad máxima de transmisión)
( 5) Seguimiento de ruta avanzado, compatible con todos los protocolos
(6) Detección remota del sistema operativo
(7) Detección remota del tiempo de ejecución
(8)
Código fuente de auditoría de pila TCP e IP : https://github.com/antirez/hping
Instalación en línea: yum instalar hping3

2. comando hping

hping host [options]
-h, --help: mostrar ayuda
-v, --version: mostrar versión
-c,
--count: número de paquetes de datos enviados -i, --interval: tiempo entre el envío de paquetes de datos (uX es X microsegundos, Como -i u1000) -
      rápido: equivalente a -i u10000 (10 paquetes por segundo) - más
      rápido: equivalente a -i u1000 (100 paquetes por segundo)
      --flood: envía paquetes de datos lo más rápido posible sin mostrar la respuesta.
-n, --numeric: salida digital, salida simbólica de la dirección del host.
-q, --quiet: modo silencioso
-I, --interface: interfaz de tarjeta de red (interfaz de enrutamiento predeterminada)
-V, --verbose: modo detallado
-D, --debug: información de depuración
-z, --bind: vinculante ctrl + z a ttl (el valor predeterminado es el puerto de destino)
-Z, - desvincular: desvincular la tecla ctrl + z
--beep: para cada paquete de datos coincidente recibido pitido indicador
-0, --rawip: RAWIP En modo, HPING enviará el encabezado IP con datos, es decir, el método IP desnudo, utilizando el método RAWSOCKET.
-1, --icmp: modo ICMP, HPING enviará un mensaje de respuesta IGMP.
-2, - udp: modo UDP, HPING enviará paquetes UDP al puerto 0 del host.
-8, --scan: modo SCAN. // El modo Scan especifica el puerto correspondiente al escaneo.
-9, --escucha: modo monitor
-a, --spoof: suplantación de la dirección de origen, IP falsificada ***, el firewall no registrará la IP real y no se recibirá el paquete de respuesta.
--rand-dest: modo de dirección de destino aleatorio.
--rand-source: modo de dirección de fuente aleatoria.
-t,
--ttl : modifica el valor ttl -N, --id: el valor de ID en hping, el valor predeterminado es aleatorio.
-r --rel: campo de identificación relativa (tráfico de host estimado).
-f --frag: divide más fragmentos del paquete.
-x --morefrag: establece más marcas de fragmentos.
-y --dontfrag: establece el indicador de no fragmento.
-g --fragoff: establece la compensación de apagado.
-m --mtu: establece la unidad de transmisión máxima virtual.
-H --ipproto: Configura el campo de protocolo IP, solo se usa en modo RAW IP // Selecciona el protocolo IP en modo RAW IP. Configure el dominio del protocolo IP, solo se usa en el modo IP RAW.

3. Prueba de firewall

Pruebe la respuesta del firewall a los paquetes ICMP, ya sea que admita traceroute, si abre un puerto y denegación de servicio *** (ataque DoS) al firewall. Por ejemplo, use LandAttack para probar el cortafuegos de destino (Land Attack consiste en configurar la dirección de origen de envío para que sea la misma que la dirección de destino para inducir a la máquina de destino a establecer continuamente una conexión consigo misma).

4. Escaneo de puertos

hping3 admite un método de detección de puertos muy rico, casi todos los métodos de escaneo hping3 son propiedad de nmap (excepto el método de conexión, porque Hping3 solo envía y recibe paquetes y no mantiene la conexión, por lo que no admite la detección del método de conexión). Hping3 puede realizar un control más detallado sobre las detecciones enviadas, lo que es conveniente para que los usuarios ajusten los resultados de la detección. El rendimiento de escaneo de puertos de Hping3 y las capacidades de procesamiento integrales no se pueden comparar con nmap, y generalmente se usa para escanear solo una pequeña cantidad de puertos de una pequeña cantidad de hosts.

5. Escaneo inactivo

El escaneo inactivo (escaneo inactivo) es un método de escaneo anónimo de hosts remotos. El principio del escaneo inactivo es encontrar un host inactivo (sin tráfico de red y el IPID aumenta uno por uno), y el host VPN primero va al host inactivo. Envíe un paquete de sondeo y obtenga su IPID del paquete de respuesta. Represente la dirección IP del host inactivo para enviar un paquete SYN (asumiendo un paquete SYN) al puerto del host remoto. Si el puerto de destino del host remoto está abierto, responderá con un SYN / ACK. En este momento, el host inactivo responderá con un paquete RST después de recibir el SYN / ACK. Luego, el host VPN envía un paquete de detección al host inactivo para obtener su IPID. Al comparar los valores de IPID de los dos tiempos, se puede juzgar si el host remoto ha respondido al paquete de datos, infiriendo así indirectamente el estado de su puerto.

6 、 DOS ***

El uso de Hping3 puede generar fácilmente una denegación de servicio ***. Si se inicia una gran cantidad de conexiones SYN en la máquina de destino, la dirección de origen se falsifica como 192.168.10.99 y cada paquete SYN se envía en un intervalo de 1000 microsegundos.

7. Transferencia de archivos

Hping3 admite la transmisión de archivos a través de TCP / UDP / ICMP y otros paquetes, lo que equivale a usar TCP / UDP / ICMP para establecer una comunicación de túnel secreta. El método de implementación es abrir el puerto de escucha y firmar la firma detectada (la firma es una cadena especificada por el usuario) El contenido del análisis correspondiente. Inicie el servicio en el extremo receptor.

8 、 ***

Si Hping3 se puede iniciar en el host remoto, se puede utilizar como un programa VPN para iniciar el puerto de escucha y abrir la comunicación de shell después de que se establezca la conexión.

六 、 traceroute

1. Introducción a traceroute

Traceroute se utiliza para probar la cantidad de saltos y retrasos en un determinado host en la red. Traceroute envía paquetes UDP con un TTL específico al host del host de destino. Al aumentar gradualmente el TTL, puede recibir algunos paquetes ICMP para informar a la máquina que el TTL es 0, es decir, el host del host de destino es inalcanzable, conociendo así la ruta El número de saltos y retrasos de la puerta de enlace.

2. Comando Traceroute

traceroute [ -46dFITnreAUD ] [ -f first_ttl ] [ -g gate,... ] [ -i device ] [ -m max_ttl ] [ -N squeries ] [ -p port ] [ -t tos ] [ -l flow_label ] [ -w waittime ] [ -q nqueries ] [ -s src_addr ] [ -z sendwait ] [ --fwmark=num ] host [ packetlen ]
-4: ipv4
-6: ipv6.
-d: activa la depuración en la capa de socket.
-F: Prohibida la fragmentación.
-I: Utilice ICMP ECHO.
-T: Utilice TCP, puerto predeterminado 80.
-n: No imprime domaim.
-e: muestra la extensión ICMP.
-A: Agregue un logotipo de AS (sistema autónomo) después de cada dirección, si no, mostrará [ *].
-U: use la solicitud UDP, puerto predeterminado 53.
-D: Utilice la solicitud DCCP (Protocolo de control de congestión de datagramas), puerto predeterminado 33434.
-f first_ttl: especifica el valor TTL del primer mensaje, el valor predeterminado es 1.
-m max_ttl: especifica el valor TTL del último mensaje, el valor predeterminado es 30.
-g puerta: especifique la puerta de enlace, puede haber varias.
-i dispositivo: especifique la tarjeta de red, el valor predeterminado es eth0.
-w waittime: especifica el tiempo de espera para la respuesta de la sonda, el valor predeterminado es 3 segundos.
-q nqueries: especifica cuántos paquetes envía cada TTL, 3 por defecto.
-p puerto: especifique el número de puerto del host.

Supongo que te gusta

Origin blog.51cto.com/9291927/2594146
Recomendado
Clasificación