Ensemble de flux pour renifleur de paquets réseau: Streamdump

avant-propos

En temps de paix la nécessité d'une analyse des paquets et des statistiques sur ou effectuer la capture de paquets, en utilisant souvent des outils tels que Wireshark ou tcpdump. Ces deux outils et tshark (ligne de commande de Wireshark), il a essentiellement couvert la majeure partie du scénario de la demande, mais si vous avez besoin de diviser un seul grand flux d'échelle pour l'analyse, l'extraction de caractéristiques, il semble que ces outils n'ont pas été en mesure de fournir facilement couper des solutions de flux de travail.

La pratique la plus courante est filtrée à travers une règle plus conforme à la règle abstraite de tous les paquets dans un sac de PPCE d'enregistrement, suivi d'une opération d'écriture est mis en uvre ou le script Python par tshark flux tangentiel et scripts shell. C'est ce qui semble être aucune difficulté, mais aussi avoir résolu le problème, il devrait être prêt solution soit.

Schéma Wireshark et flux tangentiel tshark

Dans Wireshark, nous sommes habituellement dans le filtre, entrez tcp.stream ==?,? Il indique qu'un flux de nombres dans l'ensemble du paquet, et Wireshark identifiera tous les groupes admissibles de flux de quatre yuans est monté en fonction du nombre de paquets.

Mais cela nécessite l'utilisation d'une main pour faire fonctionner, l'efficacité dois dire qu'il est trop bas, en utilisant tshark pour couper le flux sera beaucoup plus rapide, la commande suivante:

> tshark -r $ EN LIGNE -T champs -e tcp.stream | sort -n | uniq -c | awk -F '' « {if ($ 2 > = 0) print $ 2} ' > tcp_stream_number.txt

représentant le nom du fichier $ Pcap de la ligne, -T, et représente une combinaison d'impression Wireshark -e champs correspondants, ce mode de réalisation représente la sortie champ tcp.stream, à savoir un certain nombre de cours d'eau. Parce qu'il est pour chaque paquet à la sortie correspondant au nombre de flux de paquets, il est nécessaire de faire le tri, de duplication des travaux. L'entrée finale à tous les numéros de fichier tcp_stream_number.txt de flux en ordre de grandeur.

Enfin, le flux d'extrait puis entrez:

tshark -r $ LINE -Y "tcp.stream == $ (($ tcpnumber))" -w $ filedic / $ streamname.pcap

Représentant du nom de fichier LINE PPCE $, $ tcpnumber représentant le contenu de chaque ligne lue à partir du fichier tcp_stream_number.txt, $ (($ tcpnumber)) dans un environnement numérique, $ filedic, $ streamName représentent les répertoires et les noms de fichiers, au-dessus commande indique un débit d'extraction à partir de $ message LINE.

Ainsi, il peut être actionné tangentielle. Mais en général, bien que tshark beaucoup plus efficace qu'une simple mode opératoire manuel Wireshark, cependant, est un tshark une fois que le paquet entier est lu en mémoire, analysées puis sortie unifié pour l'analyse des fichiers très volumineux, la demande de ressources est énorme.

En d'autres termes, si vous n'avez pas d'énormes ressources de la mémoire, l'utilisation du fonctionnement tshark pour couper le flux de gros fichiers, il est difficile d'aller plus loin! Il convient également de noter est que lorsque le nombre excessif de fichiers de flux, en raison de la poignée de fichiers excessive erreur générée se produit, ne peut pas continuer.

Plus précisément, le fractionnement d'un seul flux, nous avons déterminé habituellement par quatre tuple, qui ne peut déterminer le débit dans une seule direction, mais le plus souvent, nous devons analyser le flux dans les deux sens.

StreamDump

Donc, à un assemblage à grande échelle et l'analyse des flux individuels répondent dit précédemment, il est mineur d'introduire un gadget dans notre groupe ont été utilisés - StreamDump, groupes en fonction de quatre yuans chaque flux TCP à re-TCP assemblage réduction et enregistré en tant que PPCE de fichier séparé respectivement. Pour compiler l'efficacité opérationnelle et pratique, le programme utilise golang pour atteindre.

Plusieurs caractéristiques du programme:

Soutien des règles de filtrage peuvent être personnalisés FPB en fonction des besoins de filtration

Il prend en charge deux voies capture de flux de données, enregistrez le fichier nommé selon le quad: IP -IP .pcap, dans le cas de données bidirectionnel courant mémorisées à un premier des paramètres de paquet quad capturé dans nommage

prend en charge non seulement le trafic en temps réel capturé à partir de la carte, l'analyse prend également en charge la lecture de fichiers PPCE, vous avez besoin de filtrer flux de fichier

Fonction, tout petit, mais il peut faire beaucoup de choses! Surtout quand vous devez résoudre un fichier pcap 10G ou 20G lors de l'utilisation de Python pour analyser l'efficacité est très faible!

Spin-off du flux TCP quel est l'utilisation? Si vous avez besoin d'analyser un flux particulier ou un groupe, ou un flux d'application spécifique, je pense que cet outil doit être très utile pour vous, et vous permettra d'économiser beaucoup de temps!

Sans plus tarder, voici simplement pour parler de la façon d'utiliser ce gadget:

Compile

Compilateur sera très détendue, go est livré avec un outil de compilateur, récupérer simplement le sac dépend des bibliothèques locales, compilateur directement sur elle

> aller chercher github.com/google/gopacket > aller construire -o streamdump streamdump.go

Cas d'utilisation

Utilisation: streamdump options: -b flux de données bidirectionnel de capture chaîne -d Le nom de domaine du paquet à capturer -f chaîne règles de filtrage pour FPB PPCE (par défaut « tcp ») -h imprimer ce message d'aide et de sortie chaîne -i Interface pour obtenir des paquets de (par défaut « en0 ») -l int SnapLen pour la capture de paquets pcap (par défaut 1600) -promisc Mode promiscuous (par défaut true) chaîne -r Nom du fichier pour lire, overrides -i chaîne -s Filepath pour enregistrer les fichiers PPCE (par défaut « ./pcap_s ») -v journaux chaque paquet en détail

Il n'y a pas de connexion au sein du programme sera deux minutes de transmission de données invalides

A partir de la valeur par défaut NIC (en0) et tcp ip capture baidu.com le port de débit correspondant 443:

Commande: ./ streamdump -f 'tcp et le port 443' -s' ./stream/ '-d' (Http://www.baidu.com) '

Le programme sera automatiquement requête (Http://www.baidu.com) correspondant au domaine IP, et filtré conformément à la condition de filtrage, correspondant à ces critères de filtre enregistré flux TCP, comme indiqué:

filtre de fichiers PPCE d'un seul trafic TCP:

Commande: ./ streamdump -r './file.pcap' -f 'tcp' -s './stream/'

Il existe de nombreuses combinaisons de coutume, nous avons tous besoin de mains vers le haut! Par exemple, les données dans les deux sens à l'aide de l'option -b pour sauver!

Eh bien, une brève introduction ici, je l'espère, ce petit gadget peut améliorer certains de l'efficacité pour tout le monde!

Important lieu à nouveau! ! ! Nous avons une open source de programme Des instructions plus détaillées sur le cas d'utilisation a été Github, exigent que les élèves à lire leur propre!

Adresse Open Source

Télécharger le programme exécutable

* L'auteur: SCU-igroup, tiré à part FreeBuf.COM

la récolte continue Yang Jian, Dieu ne renoncera jamais au plus
Précédent
« Le printemps avait » sujet lancé « secret de 16 ans » activité rébellion Wan Qian errant fait dans les rues toute la nuit
Prochain
Il est familier avec le Sony do? Sony Xperia XZ2 réel diagramme Machine Tour
BYD voiture Song famille 7 Mise en page / Shanghai Motor Show
Battez-vous pour le groupe, cinq line-up post-noir
Piscine mur | On dit que seulement 50% de l'afflux de personnes peut comprendre ses illustrations (en bas)
Une analyse préliminaire et la révélation de la pensée Venezuela un des événements de coupure de courant massives
Cinq inventaire pratique des réservoirs, la capacité est le meilleur
La stratégie d'électrification de Ford en Chine a publié deux nouveaux modèles poussent
« Dream City » Guangzhou première a remporté focus éloges Guangzhou et Foshan Jinqiao Qiao de Beijing montrent de style en poudre de fumée cantonaise innombrables hommage aux travailleurs de première
Interprétation | Tencent 20e anniversaire des changements majeurs: tasser à C dans le passé, la connexion future à B
Je mets au lit et voir comment noir leur propre smart TV
Plus un support de mise à jour système de publication DRM les utilisateurs doivent retourner le téléphone pour la mise à jour
En plus du porte-parole officiel Wang Xuan mil 9 et 13, la source de mil « melon » dans lequel le