Il s'agit de la commande flowdumperp qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
flowdumper - un grepUtilitaire de type (1) pour les fichiers de flux bruts
SYNOPSIS
flowdumper [-h] [-v] [-s|S|r|R] [-a|n] [[-I expr] -e expr [-E expr]] [-c] [-B fichier] [ -o fichier_sortie] [fichier_flux [...]]
mais généralement juste :
flowdumper [-s] -e expr fichier_flux [...]
DESCRIPTION
déchargeur est une grep(1)-like utilitaire pour sélectionner et traiter les flux de cflowd ou
flow-tools fichiers de flux bruts. Les critères de sélection sont précisés à l'aide de l'option "-e"
décrit ci-dessous.
déchargeurLes principales caractéristiques de sont la capacité de :
· Imprimer le contenu des fichiers de flux bruts dans l'un des deux formats intégrés ou dans un format du
les utilisateurs possèdent. Le format "long" intégré ressemble beaucoup à celui produit par le flowdump
commande fournie avec cflowd. Le format « court », sur une seule ligne, convient aux
post-traitement ultérieur par des filtres orientés ligne comme sed (1).
· Agir comme un filtre, en lisant les flux bruts d'entrée à partir de fichiers ou d'entrées standard, et
produisant un débit brut filtré sur une sortie standard. Ceci est similaire à la façon dont grep(1)
est souvent utilisé sur des fichiers texte.
· Sélectionnez les flux selon pratiquement tous les critères qui peuvent être exprimés en perl
syntaxe.
Les "variables de flux" et autres symboles utilisables dans l'expression "-e" sont ceux
rendu disponible par le module Cflow lorsqu'il est utilisé comme ceci :
utilisez Cflow qw(:flowvars :tcpflags :icmptypes :icmpcodes);
Voir la documentation de Cflow perl pour plus de détails sur ces valeurs (c'est-à-dire "perldoc Cflow".)
La plupart de la syntaxe perl est autorisée dans les expressions spécifiées avec le "-e", "-I" et "-E"
option. Voir les pages de manuel de perl pour plus de détails sur les opérateurs ("man perlop") et
fonctions ("man perlfunc") disponibles pour une utilisation dans ces expressions.
S'il est exécuté sans arguments, filtre l'entrée standard vers la sortie standard.
Les options et leurs arguments, grosso modo par ordre d'utilité, sont :
"-h"
affiche les informations d'utilisation
mnémonique : 'h'elp
"-une"
imprimer tous les flux
implicite si "-e" n'est pas spécifié
mnémonique : 'a'll
"-e" expression
évaluer cette expression une fois par flux
mnémonique : 'e'expression
"-c"
imprimer le nombre de flux mis en correspondance en entrée
mnémonique : 'c'count
"-s"
flux d'impression au format court (une ligne), ignoré avec "-n"
mnémonique : 's'hort
"-r"
imprimer les flux au format de fichier de flux brut/binaire
ignoré avec "-n"
mnémonique : 'r'aw
"-R"
« repacks » et imprimer les flux au format de fichier de flux brut/binaire
nécessite "-e", ignoré avec "-n", utile avec "-p"
mnémonique : 'R'epack raw
"-n"
ne pas imprimer les flux correspondants
mnémonique : comme "perl "-n"" ou "sed "-n""
"-o" fichier_sortie
envoyer la sortie vers le fichier spécifié. Un seul printf(3) le spécificateur de conversion de chaîne peut
être utilisé dans la valeur output_file (comme "/ tmp /%s.txt") pour créer le fichier de sortie
name une fonction du nom de base du fichier d'entrée.
mnémonique : 'o'output file
"-S"
flux d'impression dans l'"ancien" format court (une ligne)
ignoré avec "-n"
mnémonique : 'S'hort
"-v"
être bavard avec les messages
mnémonique : 'v'erbose
"-V"
être très verbeux avec les messages (implique ""-v"")
mnémonique : 'Très verbeux
"-je" expression
expression eval initialement, avant le traitement du flux
pratiquement inutile sans "-e"
mnémonique : 'I'expression initiale
"-E" expression
expression eval une fois le traitement du flux terminé
pratiquement inutile sans "-e"
mnémonique : 'E'ND expression
fichier "-B"
Chargez le fichier de vidage BGP spécifié à l'aide de Net::ParseRouteTable.
Dans votre expression facultative, vous pouvez maintenant faire référence à ces variables :
$dst_as_path_arrayref
$dst_origin_as
$dst_peer_as
$src_as_path_arrayref
$src_origin_as
$src_peer_as
ce qui provoquera une recherche. Leurs valeurs ne sont pas définies si la recherche échoue.
mnémonique : 'B'GP fichier de vidage
"-p" prefix_mappings_file
lire le fichier contenant les mappages de préfixes IPv4 dans ce format (un par ligne) :
10.42.69.0/24 -> 10.69.42.0/24
...
Lorsque vous spécifiez cette option, vous pouvez, et devez à un moment donné, appeler le ENCODE
sous-routine dans vos expressions pour qu'elle encode les vars d'adresse IP tels que
$Cflow::exporter, $Cflow::srcaddr, $Cflow::dstaddr et $Cflow::nexthop.
mnémonique : 'p'refixes
EXEMPLES
Imprimez tous les flux, dans un format multiligne, vers un pager :
$ flowdumper -a flux.* |less
Imprimez tous les flux UDP dans un autre fichier en utilisant le format de flux binaire brut :
$ flowdumper -re '17 == $protocol' flows.current > udp_flows.current
Imprimez tous les flux TCP dont le bit SYN est défini dans les drapeaux TCP :
$ flowdumper -se '6 == $protocol && ($TH_SYN & $tcp_flags)' flux.*
Imprimez les 10 premiers flux dans un autre fichier en utilisant le format de flux binaire brut :
$ flowdumper -I '$n = 10' -re '$n-- ou exit' flux.*0 > head.cflow
Imprimez tous les flux avec l'heure de début et de fin en utilisant un format sur deux lignes :
$ flowdumper -se 'print scalar(localtime($startime)), "\n"' flux.*
Imprimez tous les flux avec l'adresse source spécifiée à l'aide d'un format court sur une seule ligne :
$ flowdumper -se '"10.42.42.42" eq $srcip' flux.*
Faites la même chose d'une manière plus rapide, mais moins évidente :
$ flowdumper -I '
utiliser Socket;
$addr = unpack("N", Socket::inet_aton("10.42.42.42"));
' -se '$addr == $srcaddr' s'écoule.*
(Cette dernière méthode est plus rapide car inet_aton(3) n'est appelé qu'une seule fois, au lieu d'une seule fois
par flux.)
Imprimer tous les flux avec une adresse source dans le réseau/sous-réseau spécifié :
$ vidage de flux \
-J'utilise Socket;
$mask = unpack("N", Socket::inet_aton("10.42.0.0"));
$largeur = 16' \
-se '$mask == ((0xffffffff << (32-$width)) & $srcaddr)' s'écoule.*
Imprimer tous les flux où l'adresse source ou l'adresse de destination, mais pas les deux, est
dans l'ensemble spécifié de réseaux ou de sous-réseaux :
$ vidage de flux \
-J'utilise Net::Patricia;
$pt = Net::Patricia->nouveau ;
map { $pt->add_string($_, 1) } qw( 10.42.0.0/16
10.69.0.0/16 )' \
-se '1 == ($pt->match_integer($srcaddr) +
$pt->match_integer($dstaddr))' flux.*
Comptez le nombre total de « locuteurs » (adresses d'hôte source uniques) en les redirigeant vers
sortde Géographie (1) et avec la wc(1) pour les compter :
$ vidage de flux \
-J'utilise Net::Patricia;
$pt = Net::Patricia->nouveau ;
map { $pt->add_string($_, 1) } qw( 10.42.0.0/16
10.69.0.0/16 )' \
-ne '$pt->match_integer($srcaddr) et affiche les flux "$srcip\n"'.* \
|trier -u |wc -l
Comptez le nombre total de « locuteurs » (adresses d'hôte source uniques) qui se trouvent dans un
réseaux ou sous-réseaux spécifiés :
$ vidage de flux \
-J'utilise Net::Patricia;
$pt = nouveau Net::Patricia;
map { $pt->add_string($_, 1) } qw( 10.42.0.0/16
10.69.0.0/16 );
$talkers = nouveau Net::Patricia' \
-ne '$pt->match_integer($srcaddr) &&
($talkers->match_integer($srcaddr) ou
$talkers->add_string($srcip, 1))' \
-E 'printf("%d\n", $talkers->climb( sub { 1 } ))' s'écoule.*
(Pour un grand nombre de flux, cette dernière méthode est plus rapide car elle remplit un
Net::Patricia trie avec les adresses uniques et compte les nœuds résultants plutôt que
devoir les imprimer sur une sortie standard, puis les trier pour déterminer combien
sont uniques.)
Sélectionnez les flux TCP et "ENCODEZ" les adresses IP selon les encodages des préfixes
spécifié dans "prefix_encodings.txt":
$ flowdumper -p prefix_encodings.txt -se '6 == $protocol && ENCODE'
Produire un nouveau fichier de flux brut avec les adresses IP ENCODÉES selon le préfixe
encodages spécifiés dans "prefix_encodings.txt":
$ flowdumper -p prefix_encodings.txt -Re flux 'ENCODE' > flux.enc
Produire un ensemble de fichiers de flux bruts contenant les valeurs $src_as et $dst_as d'origine AS remplies
en fonction d'une recherche dans une table de routage spécifiée de l'extérieur (dans le fichier "router.bgp")
et remplacez les informations d'adresse IP par des zéros (pour l'anonymat) :
$ ssh router "show route protocol bgp terse" > router.bgp # Juniper
$ vidage de flux \
-B routeur.bgp \
-e '$src_as = $src_origin_as,
$dst_as = $dst_origin_as,
(($exportateur = 0),
($srccadr = 0),
($src_mask = 0),
($dstadr = 0),
($dst_mask = 0),
($nexthop = 0), 1)' \
-R\
-o / tmp /%s.cflow_enc \
les flux*
NOTES
Cet utilitaire a été inspiré par Daniel McRobb vidage utilitaire qui est fourni avec
coulé. déchargeur a été écrit à l'origine comme un simple échantillon de ce qui peut être fait avec le
Cflow perl module, mais a depuis été développé en un outil plus complet.
Utilisez flowdumperp en ligne en utilisant les services onworks.net
