.titleBar { margin-bottom: 5px!important; }

Callmonitor fürs Netzwerk??

Dieses Thema im Forum "Freetz" wurde erstellt von parti02, 15 Dez. 2008.

  1. parti02

    parti02 Neuer User

    Registriert seit:
    15 Dez. 2008
    Beiträge:
    24
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo Leute,
    gibt es sowas? Wenn jemand bei der Fritzbox etwas auf Port 80 (oder 21, 25 usw) anfragt, kann ich der Fritzbox ja in der Portfreigabe sagen, an welche IP die Anfrage weitergeleitet werden soll. Jetzt würde ich gerne noch ein WOL Packet mitschicken, welches dann den Server einschaltet.

    Hat jemand eine Idee?

    Gruß
    Parti
     
  2. wengi

    wengi Mitglied

    Registriert seit:
    3 Okt. 2006
    Beiträge:
    339
    Zustimmungen:
    1
    Punkte für Erfolge:
    18
    Ort:
    östlich Rhein-Main
    Hallo,

    Mir ist nichts in der Richtung bekannt.
    Das bedeutet aber auch, dass jedes mal, wenn eine Anfrage auf dem Port kommt, das WOL geschickt wird!
    Bei jedem Portscan! Dein Rechner wird vermutlich maximal 15 Minuten ausgeschaltet bleiben.

    Löse es doch über einen Anruf auf einer, wenn vorhanden, ISDN Nummer und Callmonitor.

    wengi
     
  3. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,761
    Zustimmungen:
    5
    Punkte für Erfolge:
    38
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    Kann man das nicht mit dem knockd lösen?

    MfG Oliver
     
  4. matze1985

    matze1985 Aktives Mitglied

    Registriert seit:
    17 Feb. 2007
    Beiträge:
    1,537
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ich hätte auch an knockd gedacht.
    Aber für den Callmonitor brauchst du nicht unbedingt ne Isdn nummer. Eine kostenlose Nummer bei sipgate reicht auch. :)
     
  5. parti02

    parti02 Neuer User

    Registriert seit:
    15 Dez. 2008
    Beiträge:
    24
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Danke erstmal für eure Antworten, suche schon seid gestern Abend nach einer Lösung, habe jetzt eine Idee, das mit dem Anrufen finde ich umständlich, es sollen ja außer mir auch noch andere den Server nutzen können.

    Habe übrigens nicht vor Standartports zu benutzen, das sollte etwas Ruhe vor Portscanns geben, benutze sie jetzt aber um meine Idee zu erklären.
    Ich kann außerdem über die Portfreigabe in der Fritzbox einstellen, was weitergeleitet werden soll, also wird bei 90% der Portscanns nicht mal eine Anfrage bis zu meinem Server durchkommen.


    tcpdump läuft problemlos auf der FritzBox und Etherwake ist auch vorhanden.

    tcpdump 'dst host 192.168.178.33 and (port 80 and 21)' zeigt mir auf der Konsole wenn Pakete für den Server auf den entsprechenden Ports eintreffen. Man kann bestimmt tcpdump dazu veranlassen die Daten auch in eine Datei zu schreiben.

    Jetzt müsste die Datei überwacht werden, vieleicht ist es gar nicht nötig sie zu öffnen und zu lesen, sondern einfach nur zu Prüfen ob Sie sich verändert, denn immer wenn mein Server eine Anfrage bekommt, sollte sich ja die Zeit des letztens Zugriffs der Datei verändert haben.

    Wenn eine Veränderung festgestellt wird, wird ether-wake veranlasst ein WOL Paket zu senden und das Script,welches die Datei überwacht legt sich für eine Zeit X schlafen, nähmlich solange wie mein Server mindestens an ist, bevor er sich wieder schlafen legt (will meinen Netzwerk ja nicht mit WOL Paketen fluten).

    Was haltet ihr davon?
    Ist so etwas mit einem shellscript, welches auf der FritzBox läuft möglich?

    Gruß
    Parti
     
  6. hermann72pb

    hermann72pb IPPF-Promi

    Registriert seit:
    6 Nov. 2005
    Beiträge:
    3,567
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ich habe eine bessere Idee:
    1. Du startest einen neuen httpd-Prozess auf deinem beliebigen Port.
    2. In den Parametern zu httpd definierst du dein Verzeichnis für html-Dateien und cgi-s. Zu Not bei freetz, wol oder avm abgucken.
    3. Du schreibst eine index.html die eine wakemeinpc.cgi aufruft. Von mir aus per java-Script mit redirect oder was auch immer. Evtl. geht auch direkt index.cgi zu schreiben.
    4. In der cgi-Datei schreibst du dann dein wake-Befehl.

    Die Sache kann man beliebig erweitern:
    a) Man kann httpd-eigene-User/Passwort-Abfrage aktivieren, was schon mal gegen Portscans in diesem Falle helfen würde
    b) Man kann matrixtunnel einrichten und das Ganze nur per https nach draußen frei geben

    usw.

    Mit cgi-s muss man allerdings etwas vorsichtig sein. Es soll sicher gestellt werden, dass man nur wake von draußen aufrufen kann!

    MfG
     
  7. matze1985

    matze1985 Aktives Mitglied

    Registriert seit:
    17 Feb. 2007
    Beiträge:
    1,537
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    du kannst direkt ne index.cgi schreiben.
    Wenn keine index.html vorhanden ist, wird diese automatisch genutzt.
    Hab das mal benutzt um nen DirectoryListing zu realisieren.
     
  8. parti02

    parti02 Neuer User

    Registriert seit:
    15 Dez. 2008
    Beiträge:
    24
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Benutzername und Passwort möchte ich nicht eingeben, das ganze soll nach außen so transparent wie möglich sein.
    Außerdem könnte ich meinen PC dann ja nur wecken, wenn ich mit einem Browser auf den entsprechenden Port zugreife, wenn ich jetzt eine FTP oder SSH Verbindung aufbauen möchte startet der PC nicht, wenn ich das jetzt richtig verstanden habe?

    Es ist auch nicht schlimm wenn der PC sich das eine oder andere Mal aufgrund eines Portscans hochfährt, ist immer noch besser als wenn er 365 Tage im Jahr durchläuft. Mir fehlen da leider die Erfahrungswerte, wie oft so etwas denn überhaupt passieren würde. Wenn er denn gestartet ist und nichts tut, legt er sich eben nach 10 min wieder schlafen.

    Gruß
    Parti
     
  9. hermann72pb

    hermann72pb IPPF-Promi

    Registriert seit:
    6 Nov. 2005
    Beiträge:
    3,567
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    auf bekannten ports wie ssh und ftp versucht sich wenigstens einmal pro stunde irgendein "kiddy" durchzuboxen. Abgesehen von Portscans, die ich nicht mit kriege. Von daher sehe ich die Chancen relativ hoch, dass dein Server sich nie schlafen legt.

    Wo ist denn der Sinn daran, dass einer sich vergeblich versucht per ssh oder ftp anzumelden, um den Server erstmal zu wecken? Er bekommt nichtmal eine Bestätigung darüber, ob die "Einwahl" erfolgreich war. Und warum hat derjenige keinen Browser? Ich würde einen Browser als primitivste und niedrigste Ausrüstung eines Clients ansehen, dem du erlauben willst sich bei dir anzumelden. Welches Gerät heutzutage hat denn keinen Browser?

    MfG
     
  10. matze1985

    matze1985 Aktives Mitglied

    Registriert seit:
    17 Feb. 2007
    Beiträge:
    1,537
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ich würde auch sagen, wenn du nen ssh Zugang hast, dann kannst du auch irgendwo wget aufrufen und dass reicht dann ja schon.
     
  11. parti02

    parti02 Neuer User

    Registriert seit:
    15 Dez. 2008
    Beiträge:
    24
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Naja, das mit den Ports habe ich oben schon erklärt. Ich denke wenn sich jemand privat seinen SSH Accout auf Port 22 legt, ist das sicherheitstechnisch schon mal grob fahrlässig. Hab keine Ahnung ob Standardportscanns auch oberhalb von 50.000 suchen, ich glaube die meisten tun das nicht.

    Der Sinn in der ganzen Sache ist die Transparenz, wenn dir der FTP Client zeigt, dass keine Verbindung da ist, dann Versucht man es eben ein paar Sekunden später nochmal, gleiches gilt für alle anderen Protokolle.

    Der Server soll unter Linux laufen, also nur eine Konsole, wenn ich ihn mittels WOL sogar aus dem S3 wecken kann, ist er womöglich sogar da, bevor es einen timeout gibt.
    Selbst wenn es einen gibt, die meisten Leute drücken dann eh nochmal auf aktualisieren, oder prüfen eben die URL bevor sie es tun, das brauch man ihnen nicht zu erklären.

    Auch mein DVD-Player im Wohnzimmer soll ihn wecken können, und hier kann ich nicht mal eben eine Tastatur anschließen und einen Browser öffnen.

    Gruß
    Parti
     
  12. hermann72pb

    hermann72pb IPPF-Promi

    Registriert seit:
    6 Nov. 2005
    Beiträge:
    3,567
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Hast du es schon mal mit "paar sekunden" ausprobiert? Selbst aus S3 wird es bestimmt eine Minute in Anspruch nehmen. Und was ist der Sinn an S3? Dann lass es gleich voll laufen.
    Übrigens, WOL mit S3 ist ein Thema für sich. Glaub mir, es ist deutlich einfacher, den Rechner aus S5 zu wecken, als aus S3.

    Also ich sehe es aus meiner praktischen Erfahrung schwarz, dass du es "transparent" bekommst. Wenn es verfügbar sein sollte, dann sollte es eben 24 Stunden am Tag laufen. Damit deine Kosten nicht zu hoch werden, kann man da was einfallen lassen. Oder eben zunächst richtig wecken per http oder was auch immer und danach die Verbindung aufbauen. Glaub mir, deine Kunden/Kumpels oder wer auch immer werden dich zum Teufel jagen, wenn sie zunächst 10 Mal wiederholt die Verbindung aufbauen müssen bevor sie steht.

    MfG
     
  13. parti02

    parti02 Neuer User

    Registriert seit:
    15 Dez. 2008
    Beiträge:
    24
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    möchte mich jetzt wirklich nicht über Nebensächlichkeiten streiten, zu mal es vom Thema wegführt, aber 1min ist weit weg von der Realität, benutzt du vista?
    Boote ein Linux mit XFCE4 und Grafikartentreibern, welche neu geladen werden müssen, und allen Problemen, die man unter Linux so hat in 20 sec.
    Ich will doch nur eine Konsole haben, ich denke wirklich das es in ein paar Sekunden erledigt ist, zumal ich alle Dinge die ich nicht benötige, wie Sound usw. im Bios abschalte. Der Unterschied zwischen S3 und ganz laufen lassen sind beim Atom Board DGC... satte 30 Watt, im S3 nimmt der PC nur noch 2,1 watt auf, ganz aus sind 1,6 watt, idle = 35 Watt.

    Außerdem tut sich zur Zeit einiges unter Linux, was das beschleunigen des Startvorgangs angeht.

    Gruß
    Parti
     
  14. Silent-Tears

    Silent-Tears IPPF-Promi

    Registriert seit:
    3 Aug. 2007
    Beiträge:
    7,456
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    BI
    und wieso holst du dann so weit aus? wenn du sagst, dein system bootet binnen 3 sekunden, dann wird es das wohl. der rest interessiert kaum in diesme kontext.
     
  15. matze1985

    matze1985 Aktives Mitglied

    Registriert seit:
    17 Feb. 2007
    Beiträge:
    1,537
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    naja wie du es machen willst sei dir ja überlassen.
    Natürlich kannst du mit tcpdump in eine Datei loggen.
    Code:
    tcpdump <optione1> <option2> >> /var/tmp/datei
    oder auch
    Code:
    tcpdump <optione1> <option2> -w /var/tmp/datei
    siehe auch man
     
  16. parti02

    parti02 Neuer User

    Registriert seit:
    15 Dez. 2008
    Beiträge:
    24
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #16 parti02, 21 Dez. 2008
    Zuletzt bearbeitet: 21 Dez. 2008
    Code:
    #!/bin/sh
    
    ip="192.168.178.35"
    wolmac="xx:xx:xx:xx:xx:xx"
    wolinterface="lan"
    time=3
    
    while true; do
      /var/tmp/tcpdump -c 1 -n -l arp dst host $ip
      ether-wake -i $wolinterface $wolmac
      echo WOL package send
      echo waiting $time
      sleep $time
    done
    
    so läuft das Ganze erstmal, hab aber noch einige Fragen dazu.
    Würde gerne das ganze Script zum schweigen bringen, d.h. es soll keinerlei Ausgabe auf der Konsole stattfinden, würde die echos gerne so an die FritzBox senden, dass diese in der Weboberfläche unter Ereignisse auftauchen, ist das möglich?

    edit: eventadd 1 "text" sendet ein Systemereignis.

    Tcpdump und das Script liegen noch unter /var/tmp/, kenne mich mit den Verzeichniskonventionen nicht aus, aber es gibt doch bestimmt einen besseren Ablageort oder?

    Als letztes würde ich das Script natürlich gerne beim Start der FritzBox automatisch starten.

    Gruß
    Parti
     
  17. Silent-Tears

    Silent-Tears IPPF-Promi

    Registriert seit:
    3 Aug. 2007
    Beiträge:
    7,456
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    BI
    Die debug.cfg ist ein guter Ort, das zu implementieren, denn die wird ausgeführt beim Boxenstart.
    Scripts ohne Consolenausgabe ausführen, dazu findest du einiges in den bestehenden Freetz-Scripten und kannst dich da schlau lesen. Google hilft ansonsten auch bei einfachen Fragen zur Shell-Programmierung und der Umlenkung der Ausgaben.
     
  18. parti02

    parti02 Neuer User

    Registriert seit:
    15 Dez. 2008
    Beiträge:
    24
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    kann ich tcpdump und das script auch noch woanders ablegen, außer in /var/tmp/, kriege sonst immer "Read only filesystem".

    Wird die debug.cfg beim nächstem firmwareupdate wieder zurückgesetzt?

    Gruß
    Parti
     
  19. Silent-Tears

    Silent-Tears IPPF-Promi

    Registriert seit:
    3 Aug. 2007
    Beiträge:
    7,456
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    BI
    Nein, wird nicht zurückgesetzt ausser bei einem Recover, und alles unterhalb von /var ist Beschreibbar, der Rest nur _vor_ dem Flashen, oder eben mit einem "mount -o bind ..." bis zum nächsten Reboot.

    Es gibt auch ein Overlay-Filesystem (mini_fo) was dir ermöglicht, irgendwo anders zu schreiben. Da aber bitte schlicht in den FAQ oder im Wiki schauen, denn da ist was zu den Paketen, der Imagestruktur und ähnlichen angemerkt.
     
  20. matze1985

    matze1985 Aktives Mitglied

    Registriert seit:
    17 Feb. 2007
    Beiträge:
    1,537
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    du kannst es auch auf einen usb-stick ablegen und verlinken. ;)

    oder das scipt beim bau der fw einbauen über die fwmod_custom.