Suite ...

Accessoirement changer le code (1000 est notre sample rate):

$ascache->{$as}->{$dsname} += $noctets;
par:
$ascache->{$as}->{$dsname} += ($noctets*1000);

afin que les valeurs soient utiles.

Régénérer la fichier asninfo.txt avec le script attaché.

# (echo begin; echo verbose; for i in `seq 1 65535`; do echo "AS$i"; done; echo end) | netcat whois.cymru.com 43 | ./generate.py > asinfo.txt

Bon, la' je pense avoir fini :D

Thomas

#!/usr/bin/env python
# (echo begin; echo verbose; for i in `seq 1 65535`; do echo "AS$i"; done; echo end) | netcat whois.cymru.com 43 | ./generate.py > as-out

import sys

for line in sys.stdin:
	try:
		asn,country,_,_,data = [_.strip() for _ in line.split('|')]
	except ValueError:
		continue

	if data == '-Private Use AS-':
		data = 'Private Use AS'

	try:
		macro,name = data.split(' ',1)
	except:
		macro = data
		name = data

	if not (macro.count('-') or macro.upper() == macro or name.startswith('- ')) or macro == 'UK':
		macro = 'UNSPECIFIED'
		name = data

 	if name.startswith('- '):
		name = name[2:]

	print "%s\t%s\t%s\t%s" % (asn,macro,name,country)



On 28 Sep 2009, at 21:36, Thomas Mangin wrote:

Ben, je viens de déployer en quelques heures (le temps d'ajouter le sampling cflow sur les routeurs) ..

ça a l'air de bien marcher et ça a été vraiment facile a mettre en place. Le bidouillage, c'est changer les chemin dans deux fichiers perl .. dur dur ! Je suis même aller jusqu'à installer damontools pour superviser le démon en tant qu'utilisateur non-privilegie !
Je me suis réellement foulée :D

Bon, j'ai oublie ..

diff -ur netflow-asstatd.pl.org netflow-asstatd.pl
--- netflow-asstatd.pl.org      2009-09-28 17:50:38.000000000 +0100
+++ netflow-asstatd.pl  2009-09-28 17:51:32.000000000 +0100
@@ -67,7 +67,7 @@
          $flow_sequence, $engine_type, $engine_id, $aggregation,
          $agg_version) = unpack("nnNNNNCCCC", $datagram);

-       if ($version != 8 || $aggregation != 1 || $agg_version != 2) {
+ if ($version != 8 || $aggregation != 1 || ($agg_version != 0 && $agg_version != 2)) {
                print "unknown version: $version/$aggregation/$agg_version\n";
                next;
        }

Sinon les packets sont filtrés (Junos 8.2 - houla, je dois mettre ça a jour)

Thomas---------------------------
Liste de diffusion du FRnOG
http://www.frnog.org/


Répondre à