Sur une boîte centos, j'aime vider les connexions TCP - je voudrais voir si un serveur essaie d'envoyer des requêtes à une certaine IP. Habituellement, tcpdump ferait l'affaire - mais tcpdump n'est pas installé et l'installation de logiciels n'est pas une option (en raison de la politique de l'entreprise). Je crains que netstat ne me montre pas une seule demande.
Je me demandais donc quelles autres options j'avais. J'ai un accès root sur le serveur.
Réponses:
Vous en avez sûrement
python
?Cela se terminera par "GOT TARGET" fournissant l'adresse IP qui revient pour les correspondances. Étant donné que TCP doit renvoyer quelque chose lors d'une poignée de main, cela devrait intercepter quoi que ce soit à partir d'une adresse cible spécifique. Il ne se soucie pas si le protocole est TCP ou UDP (et je ne vérifie pas non plus).
N'oubliez pas de changer TARGET et INTERFACE.
la source
socket.error: (1, 'Operation not permitted')
J'essaierais vraiment d'obtenir tcpdump. Cela étant dit, quelques alternatives pour voir si une certaine connexion existe pour une IP sont:
strace:
lsof:
netstat:
la source
Iptables a une capacité de débogage et peut également être utilisé pour l'analyse du trafic.
La solution est décrite sur l'URL ci-dessous.
Règles de débogage dans Iptables
Il est également utile de lire l'URL suivante pour configurer la journalisation de la sortie de trace dans un fichier de votre choix.
http://backreference.org/2010/06/11/iptables-debugging/
Je ne considérerais pas cette solution comme tcpdump, mais cela peut être fait en utilisant une installation minimale de Centos. Vous devez faire attention à ne pas remplir le disque avec les journaux, car tcpdump est beaucoup plus efficace dans l'utilisation du disque. Désactivez la journalisation lorsqu'elle n'est pas requise.
Vous pouvez utiliser ce qui suit comme modèle de base dans votre script.
la source
Si vous avez besoin d'un logiciel spécifique pour faire votre travail, et que vous n'êtes pas autorisé à le faire, vous ne faites pas une bonne analyse de rentabilisation ou ne vendez pas vos idées aux bonnes personnes ... ou vous ne contrôlez pas ce système. .
Si j'étais chargé de faire quelque chose et que j'avais besoin du type d'informations de débogage / dépannage dont vous avez besoin dans ce cas, j'utiliserais le bon outil. C'est probable
tcpdump
outshark
. Oui, ce sont des logiciels, mais je les considérerais comme des utilitaires plus essentiels . En fait, ce sont des utilitaires qui pourraient être installés ou chargés sur le système temporairement et supprimés sans incident (les supports amovibles sont-ils une option? ... indice )Mais le fait est qu'une solution de contournement à la politique de l'entreprise nécessite probablement plus d'efforts que d'obtenir l'approbation pour ce cas d'utilisation.
la source
tcpdump
ailleurs, et simplement le copier dans / tmp et l'exécuter à partir de là?Kyle a offert d'excellentes options. Un autre serait d'utiliser
iptables
:Il s'agit essentiellement d'une règle comptable. Il n'autorise ni ne refuse explicitement le trafic, de sorte que la stratégie par défaut pour la chaîne OUTPUT est utilisée (qui est par défaut ACCEPT). Cependant, tout paquet correspondant incrémentera les compteurs de la règle.
Vous pouvez également enregistrer des détails sur le paquet avec l'
-j LOG
option:Les journaux iront à la fonction de journalisation du noyau, donc ils devraient apparaître dans / var / log / messages sur les dérivés de Red Hat et /var/log/kern.log sur les dérivés de Debian. Il serait également visible dans la sortie de
dmesg
, comme indiqué. Contrairement àtcpdump
, cependant, il n'enregistrera pas le contenu complet du paquet, seulement le contenu de l'en-tête du paquet.la source
Étant donné que votre serveur se connecte à une certaine IP, je suppose que ce sera vers un port que vous connaissez également?
Dans tous les cas,
netstat
ouss
sont conçus pour faire ce que vous voulez. Vous pouvez faire de même avec l'une ou l'autre des commandes:où
A.B.C.D
représente une adresse IPv4 etn
représente un numéro de port auquel votre serveur se connecte du côté distant. Par exemple:Ou, si vous souhaitez simplement savoir que la connexion est établie:
Si vous ne connaissez pas le numéro de port auquel vous essayez de vous connecter, la tâche sera plus difficile car TCP ouvrira un port des deux côtés de la conversation pour les données et les paquets ACK. Dans ce cas, vous pouvez simplement chercher l'adresse IP pour montrer que toute connexion a été établie, que ce soit vers ou depuis.
Enfin, vous pouvez boucler cela au contenu de votre cœur pour l'utiliser comme outil de surveillance:
la source