En una caja de centos, me gusta volcar las conexiones TCP; me gustaría ver si un servidor intenta enviar solicitudes a una determinada IP. Por lo general, tcpdump haría el truco, pero tcpdump no está instalado y la instalación de software no es una opción (debido a la política de la compañía). Me temo que netstat no me mostrará una sola solicitud.
Entonces me preguntaba qué otras opciones tengo. Tengo acceso de root en el servidor.
Respuestas:
Seguramente tienes
python
?Esto saldrá con "OBTENER OBJETIVO" proporcionando la dirección IP que vuelve a coincidir. Como TCP tiene que enviar algo durante un apretón de manos, esto debería capturar cualquier cosa desde una dirección de destino específica. Sin embargo, no importa si el protocolo es TCP o UDP (ni lo verifico).
No olvides cambiar el OBJETIVO y la INTERFAZ.
fuente
socket.error: (1, 'Operation not permitted')
Realmente trataría de obtener tcpdump. Dicho esto, algunas alternativas para ver si existe cierta conexión para una IP son:
strace:
lsof:
netstat:
fuente
Iptables tiene una capacidad de depuración y también se puede usar para el análisis de tráfico.
La solución se describe en la URL a continuación.
Reglas de depuración en Iptables
También vale la pena leer la siguiente URL para configurar el registro de salida de rastreo en un archivo de su elección.
http://backreference.org/2010/06/11/iptables-debugging/
No consideraría esta solución igual a tcpdump, pero se puede hacer usando una instalación mínima de Centos. Debe tener cuidado de no llenar el disco con los registros, porque tcpdump es mucho más eficiente en el uso del disco. Apague el registro cuando no sea necesario.
Puede usar lo siguiente como plantilla básica en su secuencia de comandos.
fuente
Si necesita un software específico para hacer su trabajo y no se le permite hacerlo, o no está haciendo un buen caso de negocios o no está vendiendo sus ideas a las personas adecuadas ... o no tiene el control de este sistema ... .
Si me encargaran hacer algo y necesitara el tipo de información de depuración / solución de problemas que necesita en este caso, usaría la herramienta adecuada. Eso es probable
tcpdump
otshark
. Sí, esas son piezas de software, pero las consideraría utilidades más esenciales . De hecho, son utilidades que podrían instalarse o cargarse en el sistema temporalmente y eliminarse sin incidentes (¿los medios extraíbles son una opción? ... sugerencia )Pero el punto es que una solución alternativa a la política de la compañía probablemente requiere más esfuerzo que obtener la aprobación para este caso de uso.
fuente
tcpdump
otro lugar, y simplemente copiarlo a / tmp y ejecutarlo desde allí?Kyle ofreció algunas excelentes opciones. Una más sería usar
iptables
:Esto es esencialmente una regla de contabilidad. No permite ni niega explícitamente el tráfico, por lo que se utiliza la política predeterminada para la cadena de SALIDA (que por defecto es ACEPTAR). Sin embargo, cualquier paquete coincidente incrementará los contadores para la regla.
Opcionalmente, también puede registrar detalles sobre el paquete con la
-j LOG
opción:Los registros irán al recurso de registro del kernel, por lo que debería aparecer en / var / log / messages en derivados de Red Hat y /var/log/kern.log en derivados de Debian. También sería visible en la salida de
dmesg
, como se muestra. A diferenciatcpdump
, sin embargo, no registrará el contenido completo del paquete, solo el contenido del encabezado del paquete.fuente
Dado que su servidor se conecta a una determinada IP, supongo que será a un puerto del que también tenga conocimiento.
En cualquier caso,
netstat
oss
están diseñados para hacer lo que quieras. Puede hacer lo mismo con cualquier comando:donde
A.B.C.D
representa una dirección IPv4 yn
representa un número de puerto al que se conecta su servidor en el lado remoto. Por ejemplo:O, si solo desea saber que la conexión está hecha:
Si no conoce el número de puerto al que está intentando conectarse, entonces el trabajo sería más difícil ya que TCP abrirá un puerto en ambos lados de la conversación para los paquetes de datos y ACK. En ese caso, podría simplemente buscar la dirección IP para mostrar que se ha realizado una conexión, ya sea desde o hacia.
Finalmente, puede enlazar esto con el contenido de su corazón para usarlo como su herramienta de monitoreo:
fuente