PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Aktivität auf netzwerkkabel messen



Roboman93
01.03.2011, 15:09
hallo,

ich möchte gerne die aktivität auf einem netzwerkkabel mit möglichst wenig aufwand messen.
zuerst dachte ich an einen enc28j60. dieser hat ja eine interruptleitung, die auslöst, sobald ein neues paket empfangen wird. ich habe nur nicht verstanden, ob er immer auslöst oder nur, wenn das paket in den buffer geschrieben wurde. wenn das so ist, müsste ich den buffer ja ständif leeren, was ich wegen dem zusätzlichen rechenaufwand vermeiden möchte.

fällt euch noch eine weitere möglichkeit ein, die anzahl der pakete pro zeit (natürlich nicht genau) zu messen?

da es sich um ein genutztes netzwerk handelt möchte ich eigentlich nicht direkt an die leitungen häängen, was nicht dafür vorgesehen ist, aber auch hier wäre ich für vorschläge offen.


mfg roboman

hardware.bas
01.03.2011, 15:27
Wenn man ein Billigswitch (5 EURO) zwischenpatcht und die "Flackerei"
der entsprechenden LED auswertet hat man zumindest einen
primitiven "Aktivitätsdedektor". Ob das reicht und wozu das gut ist,
entzieht sich jedoch neinem Verständnis. VG Micha

i_make_it
01.03.2011, 15:33
1234567890

Roboman93
01.03.2011, 15:36
ok, ich glaube, ich habe mich zu knapp ausgedrückt.

das projekt ist eigentlich ein kunstprojekt mit LEDs. diese führen verschiedene animationen aus. die geschwindigkeit hängt von der netzwerkaktivität ab. deswegen ist die art der pakete egal und auch der inhalt.

es ist ein ethernetnetzwerk, alle rechner hängen an eine hub.

mfg roboman

hardware.bas
01.03.2011, 16:39
Hängen die wirklich an einem Hub? Oder doch an einem Switch?
Dann würd ich doch einen Billig-Switch als "Signalquelle" für die
LED-Ansteuerung nehmen. Die Animation kann man dann ja zusätzlich
noch so richtig schön kreativ gestalten. Ich merk das immer bei meinen
Projekten, wo ich gern bunte LEDS als Anzeigen verwende . Da muss
ich mich desöfteren bremsen, damit nicht zu viel flackert . Ich finde
sowas toll, jedoch "ernsthafte" Anwender ..... VG micha

01.03.2011, 16:47
Wenn es nur um einen Windows Rechner geht
kannst du das per WMI abfragen (hier was in dot net)
h t t p: / / w w w .d o t n e t s p i d e r . c o m / r e s o u r c e s / 5 4 7 8 - H o w - S h o w - N e t w o r k - T r a f f i c - u s i n g - C - d o t . a s p x

ggf geht das auch bei mehreren Windows Rechnern (remote).

Ansonsten bei Linux: ggf in Richtung proc (h t t p : / / l i n u x d e v c e n t e r . c o m / p u b / a / l i n u x / 2 0 0 0 / 1 1 / 1 6 / L i n u x A d m i n . h t m l ) oder netstat suchen (ggf. geht das auch mit cygwin auf windows)

bei mehreren Rechnern würde ich dann ehr einen Router/Switch verwendenen, auf dem ein Linux läuft (openWrt; fritzbox mit freetz o.ä.) und dann mal die Linux-Tools anwerfen.

Ggf kommst du auch mit Netzwerksniffern weiter (ggf in Datei schreiben und dann auswerten; k.a.)

sind alles Software-Lösungen, die im normalfall keinen (elementaren) Einfluss auf das Netzwerk haben (sollten)

(ich darf keine Links setzen; bin ja nur Gast und hab meine Zugangsdaten vergessen ;(
und Leerzeichen musste ich auch noch reinmachen ;(
)

01.03.2011, 16:59
kleiner Nachtrag:

wenn du das mit WMI machen willst, guck dir mal die Powershell vom MS an. Ist quasi ne bessere batch und du brauchst nicht richtig programmieren.

PICture
01.03.2011, 17:10
Hallo!

@ Roboman93

Ich denke, dass ein Monoflop mit LED an jedem Netzwerkkabel ausreichend wäre ... ;)

MfG

01.03.2011, 17:16
willste nicht mit Kanonen auf Spatzen schießen ?
Dieser Thread kommt mir ganz gelegen. Dann kann ich die Aufgabe, dich ich schon seit 1h vor mir her schiebe, noch etwas weiter rausschieben :)

Roboman93
01.03.2011, 17:35
ok, die idee mit dem switch als signalquelle ist gut, werde mich mal umsehen.

@Gast:
wie schon gesagt, der inhalt der pakete und die genaue anzahl ist egal, deswegen wäre ein ps ein riesiger overkill. ich möchte außer einem avr so wenig hardware einsetzen wie möglich.


mfg roboman

Roboman93
01.03.2011, 17:59
zuerst dachte ich an einen enc28j60. dieser hat ja eine interruptleitung, die auslöst, sobald ein neues paket empfangen wird. ich habe nur nicht verstanden, ob er immer auslöst oder nur, wenn das paket in den buffer geschrieben wurde. wenn das so ist, müsste ich den buffer ja ständig leeren, was ich wegen dem zusätzlichen rechenaufwand vermeiden möchte.


kann mich jemand bezüglich dieser frage aufklären?

Jaecko
01.03.2011, 18:11
Gast: Du musst hier die Links nicht so zerstören. Ohne Leerzeichen hätts auch gereicht.

01.03.2011, 18:23
Gast: Du musst hier die Links nicht so zerstören. Ohne Leerzeichen hätts auch gereicht.

Nee, leider gab es immer Fehlermeldungen, dass ein Gast wegen Spam-Gefahr keine Links und Bilder posten darf. Nachdem ich erst nur w w w bzw h t t p verstümmelt hab, hatte ich nach 5 Versuchen die Schn... voll und hab es auf Nummer sicher gemacht. Sorry (aber ich kann es ja verstehen; sowohl die Maßnahme, als auch deine Anmerkung).

(Ich darf noch nicht mal diese Antwort ohne Leerzeichen geben)

Roboman93
01.03.2011, 19:59
ich glaube ich werde einfach mal einen computer an einen billigen hub hängen und an einem anderen ausgang schauen, wie ich ein signal abgreifen kann, dass ich an einen avr leiten kann.

robomab

Roboman93
02.03.2011, 15:45
so, nach einigen ernüchternden experimenten und erneuten lesen des datenblattes des enc28j60 steht der entwurf.

ich werde einen enc28j60 verwenden, den empfangsbuffer so klein wie möglich einstellen und einen interrupt auslösen, sobald ein paket wegen zu kleinem buffer fallengelassen wird.


roboman