Comment voir sortant les paquets ESP dans tcpdump avant qu'ils obtiennent chiffrés
J'ai une installation ayant Tunnel Ipsec entre deux systèmes d'extrémité. Lorsque j'ai fait une capture de paquets sur l'interface de sortie.e.g eth0, je ne peux voir chiffré les paquets ESP sortir de mon système. Je dois aller la chercher à la fin de réception pour voir ce qui a été effectivement transmises j'.e sur l'extrémité de réception, je peux voir les paquets après le décryptage. de même pour l'accusé de réception envoyé par le récepteur. Comment cela fonctionne réellement dans le noyau linux ? Est-il possible de voir les paquets sur le côté de l'expéditeur dans tcpdump avant qu'ils sont cryptés ?
OriginalL'auteur user3336687 | 2014-02-21
Vous devez vous connecter pour publier un commentaire.
Vous avez trois questions dans votre question :
La réponse à la troisième question est
Cela dépend de votre noyau et de mise en œuvre qui vous utilisez.
Si vous utilisez KLIPS en Noyau 2.4 dans le cadre de l'un de l' *swan solutions, alors Oui.
Sinon, si vous utilisez le noyau 2.6, qui utilise le KAME /*BSD modèle
Pas, sauf si vous modifiez votre Ipssec ou configuration de iptables afin de vous envoyer les paquets de données vers une autre interface clair et puis vers l'avant en clair des paquets d'une interface à laquelle ils seront cryptées.
La réponse à la première question est de changer votre configuration de iptables et configuration IPSec.
De cette façon pourrait peut tcpdump sur le chiffré de l'interface sans changer quoi que ce soit et avant que les données sont cryptées.
Pour la KLIPS et 2.4 du noyau, il est tout aussi simple que spécifiques de l'interface dans tcpdump comme ipsec0 en utilisant le commutateur-i.
D'autres options pour afficher les données non cryptées impliquer l'utilisation de tcpdump avec l'option-E et les paramètres pertinents (voir la page de man) qui déchiffre les données après qu'il est crypté ou à utiliser tcpdump pour capturer les données chiffrées et puis décrypter dans Wireshark (plus d'informations concernant les ESP décryptage d'IPSec dans Wireshark est situé ici).
Vous pouvez également placer l'instrumentation à l'aide de printk ou printk_times dans le code source pour xfrm ou esp_input.
Concernant la seconde question, il y a plusieurs photos qui expliquent comment il fonctionne à un niveau élevé, y compris celles expliquant le Solaris de mise en Œuvre dans le cadre de Oracle du Guide d'Administration Système: Services IP et Linux du Réseau de la Fondation de Flux à travers le noyau diagramme.
Également voir les éléments suivants référence. Fondamentalement, qu'il soit manuel de configuration à l'aide de setkey ou de la configuration automatique à l'aide d'un démon IKE dans l'espace utilisateur transmet les informations à l'XFRM qui transforme alors le paquet avant qu'il n'atteigne netfilter prerouting.
Voir ici pour plus d'informations sur l'histoire de KLIPS et KAME.
OriginalL'auteur Appleman1234
En supposant que vous êtes sur Linux:
Mon approche est de placer règle iptables avec NFQUEUE cible au bon endroit dans le pipeline de traitement. Ensuite, utilisez tshark avec
-i nfqueue
pour capturer les paquets.OriginalL'auteur mighq