OpenVPN-Statistics

Status
Für weitere Antworten geschlossen.

ubuntulinux

Benutzer
Mitglied seit
23. Jan 2010
Beiträge
2.063
Punkte für Reaktionen
0
Punkte
82
Wenn Du telnet localhost 7505 machst und log on eingibst, bekomsmt Du ein realtime Log... Problem: das ist nicht statisch (habs jetzt aber nicht ausprobiert).

gruss ubuntulinux
 

Wessix

Benutzer
Mitglied seit
14. Okt 2010
Beiträge
328
Punkte für Reaktionen
0
Punkte
22
ich glaube du hast mich missverstanden :)
ich meinte eine zeitliche Historie, z.B. so:
Rich (BBCode):
 user1 hat sich angemeldet am 18.04.2011 um 12:27 Uhr
 user2 hat sich angemeldet am 18.04.2011 um 13:00 Uhr
 user 1 hat sich abgemeldet am 18.04.2011 um 13:30 Uhr

Wenn ich mich mit dem aktuellen vpnstats einlogge am 18.04.2011 um 15 Uhr, zeigt er mir doch nur an, dass user 2 ncoh eingeloggt ist.
Oder finde ich eine Funktion nicht?
Cool fände ich es wenn ich dann die Historie so wie oben aufrufen könnte und sehen, aha user1 war von 12:27uhr bis 13:30uhr eingeloggt und user2 ist seit 13uhr eingeloggt.

Falls ich grad zu blöd bin, darfst du mir ne virtuelle Kopfnuss geben. ;)

Grüße Wessix
 

Wessix

Benutzer
Mitglied seit
14. Okt 2010
Beiträge
328
Punkte für Reaktionen
0
Punkte
22
also es gibt:
Rich (BBCode):
log [on|off] [N|all]   : Turn on/off realtime log display
                         + show last N lines or 'all' for entire history.

und

Rich (BBCode):
state [on|off] [N|all] : Like log, but show state history.

so wenn ich eintippe:
Rich (BBCode):
log on all
bekomme ich
Rich (BBCode):
1303122791,,MANAGEMENT: Client connected from 127.0.0.1:7505
1303122791,D,MANAGEMENT: CMD 'status '
1303122791,D,MANAGEMENT: CMD ''
1303122791,D,MANAGEMENT: CMD ''
1303122791,D,MANAGEMENT: CMD 'load-stats '
1303122791,D,MANAGEMENT: CMD ''
1303122791,D,MANAGEMENT: CMD ''
1303122791,D,MANAGEMENT: CMD 'state all'
1303122791,D,MANAGEMENT: CMD ''
1303122791,D,MANAGEMENT: CMD ''
1303122791,D,MANAGEMENT: CMD 'quit '
1303122791,,MANAGEMENT: Client disconnected
1303122801,,MANAGEMENT: Client connected from 127.0.0.1:7505
1303122801,D,MANAGEMENT: CMD 'status '
1303122801,D,MANAGEMENT: CMD ''
1303122801,D,MANAGEMENT: CMD ''
1303122801,D,MANAGEMENT: CMD 'load-stats '
1303122801,D,MANAGEMENT: CMD ''
1303122801,D,MANAGEMENT: CMD ''
1303122801,D,MANAGEMENT: CMD 'state all'
1303122801,D,MANAGEMENT: CMD ''
1303122801,D,MANAGEMENT: CMD ''
1303122801,D,MANAGEMENT: CMD 'quit '
1303122801,,MANAGEMENT: Client disconnected
1303122811,,MANAGEMENT: Client connected from 127.0.0.1:7505
1303122811,D,MANAGEMENT: CMD 'status '
1303122811,D,MANAGEMENT: CMD ''
1303122811,D,MANAGEMENT: CMD ''
1303122811,D,MANAGEMENT: CMD 'load-stats '
1303122811,D,MANAGEMENT: CMD ''
1303122811,D,MANAGEMENT: CMD ''
1303122811,D,MANAGEMENT: CMD 'state all'
1303122811,D,MANAGEMENT: CMD ''
1303122811,D,MANAGEMENT: CMD ''
1303122811,D,MANAGEMENT: CMD 'quit '
1303122811,,MANAGEMENT: Client disconnected
1303122821,,MANAGEMENT: Client connected from 127.0.0.1:7505
1303122821,D,MANAGEMENT: CMD 'status '
1303122821,D,MANAGEMENT: CMD ''
1303122821,D,MANAGEMENT: CMD ''
1303122821,D,MANAGEMENT: CMD 'load-stats '
1303122821,D,MANAGEMENT: CMD ''
1303122821,D,MANAGEMENT: CMD ''
1303122821,D,MANAGEMENT: CMD 'state all'
1303122821,D,MANAGEMENT: CMD ''
1303122821,D,MANAGEMENT: CMD ''
1303122821,D,MANAGEMENT: CMD 'quit '
1303122821,,MANAGEMENT: Client disconnected
1303122831,,MANAGEMENT: Client connected from 127.0.0.1:7505
1303122831,D,MANAGEMENT: CMD 'status '
1303122831,D,MANAGEMENT: CMD ''
1303122831,D,MANAGEMENT: CMD ''
1303122831,D,MANAGEMENT: CMD 'load-stats '
1303122831,D,MANAGEMENT: CMD ''
1303122831,D,MANAGEMENT: CMD ''
1303122831,D,MANAGEMENT: CMD 'state all'
1303122831,D,MANAGEMENT: CMD ''
1303122831,D,MANAGEMENT: CMD ''
1303122831,D,MANAGEMENT: CMD 'quit '
1303122831,,MANAGEMENT: Client disconnected
1303122841,,MANAGEMENT: Client connected from 127.0.0.1:7505
1303122841,D,MANAGEMENT: CMD 'status '
1303122841,D,MANAGEMENT: CMD ''
1303122841,D,MANAGEMENT: CMD ''
1303122841,D,MANAGEMENT: CMD 'load-stats '
1303122841,D,MANAGEMENT: CMD ''
1303122841,D,MANAGEMENT: CMD ''
1303122841,D,MANAGEMENT: CMD 'state all'
1303122841,D,MANAGEMENT: CMD ''
1303122841,D,MANAGEMENT: CMD ''
1303122841,D,MANAGEMENT: CMD 'quit '
1303122841,,MANAGEMENT: Client disconnected
1303122841,,MANAGEMENT: Client connected from 127.0.0.1:7505
1303122851,D,MANAGEMENT: CMD 'log'
1303122864,D,MANAGEMENT: CMD ''
1303122864,D,MANAGEMENT: CMD ''
1303122865,D,MANAGEMENT: CMD ''
1303122865,D,MANAGEMENT: CMD ''
1303122868,D,MANAGEMENT: CMD 'exit'
1303122868,,MANAGEMENT: Client disconnected
1303122868,,MANAGEMENT: Client connected from 127.0.0.1:7505
1303122868,D,MANAGEMENT: CMD 'status '
1303122868,D,MANAGEMENT: CMD ''
1303122868,D,MANAGEMENT: CMD ''
1303122868,D,MANAGEMENT: CMD 'load-stats '
1303122868,D,MANAGEMENT: CMD ''
1303122868,D,MANAGEMENT: CMD ''
1303122868,D,MANAGEMENT: CMD 'state all'
1303122868,D,MANAGEMENT: CMD ''
1303122868,D,MANAGEMENT: CMD ''
1303122868,D,MANAGEMENT: CMD 'quit '
1303122868,,MANAGEMENT: Client disconnected
1303122871,,MANAGEMENT: Client connected from 127.0.0.1:7505
1303122871,D,MANAGEMENT: CMD 'status '
1303122871,D,MANAGEMENT: CMD ''
1303122871,D,MANAGEMENT: CMD ''
1303122871,D,MANAGEMENT: CMD 'load-stats '
1303122871,D,MANAGEMENT: CMD ''
1303122871,D,MANAGEMENT: CMD ''
1303122871,D,MANAGEMENT: CMD 'state all'
1303122871,D,MANAGEMENT: CMD ''
1303122871,D,MANAGEMENT: CMD ''
1303122871,D,MANAGEMENT: CMD 'quit '
1303122871,,MANAGEMENT: Client disconnected
1303122872,,MANAGEMENT: Client connected from 127.0.0.1:7505
1303122879,D,MANAGEMENT: CMD 'help'
1303122939,D,MANAGEMENT: CMD 'log on all'
1303122982,D,MANAGEMENT: CMD ''
1303122985,D,MANAGEMENT: CMD '[A'
1303122987,D,MANAGEMENT: CMD ''
1303122990,D,MANAGEMENT: CMD 'exit'
1303122990,,MANAGEMENT: Client disconnected
1303122990,,MANAGEMENT: Client connected from 127.0.0.1:7505
1303122990,D,MANAGEMENT: CMD 'status '
1303122990,D,MANAGEMENT: CMD ''
1303122990,D,MANAGEMENT: CMD ''
1303122990,D,MANAGEMENT: CMD 'load-stats '
1303122990,D,MANAGEMENT: CMD ''
1303122990,D,MANAGEMENT: CMD ''
1303122990,D,MANAGEMENT: CMD 'state all'
1303122990,D,MANAGEMENT: CMD ''
1303122990,D,MANAGEMENT: CMD ''
1303122990,D,MANAGEMENT: CMD 'quit '
1303122990,,MANAGEMENT: Client disconnected
1303122990,,MANAGEMENT: Client connected from 127.0.0.1:7505
1303122990,D,MANAGEMENT: CMD 'status '
1303122990,D,MANAGEMENT: CMD ''
1303122990,D,MANAGEMENT: CMD ''
1303122990,D,MANAGEMENT: CMD 'load-stats '
1303122990,D,MANAGEMENT: CMD ''
1303122990,D,MANAGEMENT: CMD ''
1303122990,D,MANAGEMENT: CMD 'state all'
1303122990,D,MANAGEMENT: CMD ''
1303122990,D,MANAGEMENT: CMD ''
1303122990,D,MANAGEMENT: CMD 'quit '
1303122990,,MANAGEMENT: Client disconnected
1303122992,,MANAGEMENT: Client connected from 127.0.0.1:7505
1303122996,D,MANAGEMENT: CMD 'help'
1303123040,D,MANAGEMENT: CMD ''
1303123047,D,MANAGEMENT: CMD 'state on all'
1303123060,D,MANAGEMENT: CMD 'state on'
1303123083,D,MANAGEMENT: CMD 'status'
1303123128,D,MANAGEMENT: CMD 'log [on|off] [N|all]   : Turn on/off realtime log display'
1303123128,D,MANAGEMENT: CMD '                         + show last N lines or 'all' for entire history.'
1303123197,D,MANAGEMENT: CMD 'log on all'

das wird warscheinlich von euerm tool sein, dass den status abfragt oder?
müsste jetzt nur kontrollieren ob ich wenn ich mich von außen einlogge dann da auch auftauche, wenn ja müsste man ja nur alle 127.0.0.1 einträge wegfiltern oder?

Grüße Wessix
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Nochmal: Wenn du dich von aussen einloggst, dann siehst du das ja im Status. Wüsste nicht wieso, dass man das nochmals speziell aus den Logs ziehen sollte
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
@wessix
Sorry habe deinen Beitrag von 12:31 übersehen. Aber trotzdem ein Einwand: Wann genau hat sich ein Client abgemeldet? Bei OpenVPN gibt es kein Abmelden in dem Sinn. Die Verbindung wird einfach getrennt. Der Client oder der Server machen einfach zu, da gibt es keinen Logout Action im Log. Der Server merkt es irgendwann, dass der Client weg ist. Jedoch kann der Client schon vor Minuten die Verbindung beendet haben. Auch der Server kann eine Verbindung so trennen, dass es der Client erst nach einer gewissen Zeit mitbekommt.
Wie gesagt ein explizites Ausloggereignis gibt es afaik in den Logs ned. Also wird es sehr schwierig die Dauer des Logins eines Clients zu berechnen, der bereits nicht mehr online ist
 

Wessix

Benutzer
Mitglied seit
14. Okt 2010
Beiträge
328
Punkte für Reaktionen
0
Punkte
22
ok, trotzdem fände ich es zumindest nützlich zu sehen wer sich wann angemeldet hat, dass er dann nicht mehr online ist sehe ich ja am status.
z.B. habe ich im moment noch den fall, dass ich mich bei jemandem einlogge und auf seiner ds ein paar sachen installiere. wenn er nun sehen könnte wann ich mich eingeloggt habe wäre das doch besser.
Was sollte eigentlich passieren wenn ich auf eine ip clicke?
Da kommt bei mir nur "Fehler"

Grüße Wessix
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
beim Klick auf IP sollte ein ping auf die angegebene IP gemacht werden. Dabei werden 3 pings abgesetzt. Jeder ping hat ein timeout von 5 Sekunden. Wenn du also die Fehlermeldung nach 15 Sekunden erhälst, dann hat der Client wohl eine Firewall aktiviert, die pings blockt.
Eine Userstatistik, wer sich wann angemeldet hat, müsste man wohl via eine mysql Tabelle machen
 

laserdesign

Benutzer
Mitglied seit
11. Jan 2011
Beiträge
2.549
Punkte für Reaktionen
47
Punkte
94
Hallo,

wie und wo muss ich die Scripte ändern, damit es unter einer Subdomäne "http://openvpn.meine.domäne.xx" läuft???
Subdomänen laufen bei mir, nur das openvpn bekomme ich nicht zum laufen und vermute das es am Script liegt.

Edit:
Habe es geschafft:
in der includes.php die beiden Zeilen wie folgt ändern:

Rich (BBCode):
$installationBasePath = '/';
$baseURL = $_SERVER['HTTP_HOST'].'/';
 
Zuletzt bearbeitet:

ubuntulinux

Benutzer
Mitglied seit
23. Jan 2010
Beiträge
2.063
Punkte für Reaktionen
0
Punkte
82
Ja, diese 2 Var's muss man anpassen damit die sachen richtig includet werden ;)
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
@laserdesign
sorry etwas spät :) Aber genau so steht es ja auch im Kommentar im Quellcode :)

Falls eine Liste von IPs hat und diese auf Google Maps anzeigen will, kann man das mit der Klasse auch recht einfach. Musste allerdings die Klasse leicht dafür anpassen. Die aktuellste Version gibts im svn des Projekts (https://project.brain-force.ch/openVPNStat/export/4/openVPNStat/lib/php/class/openvpn_class.php)
Mit dieser aktuellsten Version kann man dann ziemlich einfach ein php File machen
PHP:
<?php
error_reporting('E_NONE');
include '/var/www/server-admin/lib/php/geo/geoip.inc';
include '/var/www/server-admin/lib/php/geo/geoipcity.inc';
include '/var/www/server-admin/lib/php/geo/geoipregionvars.php';
include('/var/www/server-admin/lib/php/class/openvpn_class.php');
$ips=file('/tmp/ips.txt');
openVPN::showIPGoogleMaps($ips);
?>
die Zeile mit ERROR_NONE sollte man so lassen, da die Klasse leider eine Methode der Variabelnübergabe verwendet, die in künftigen PHP-Versionen fliegen wird. Ohne diese Zeile wird PHP je nach error_reporting in php.ini eine notice ausgeben und die wird die Google Maps Datei unbrauchbar machen. Die includes für geoip sind nur dann nötig wenn man geoip über das dat-File abfragt. Hat man geoip jedoch in mysql dann sind diese includes für geoip nicht nötig. Habe es so zur Zeit hier (http://tobisworld.homeip.net/google_maps.php) im Einsatz.
Funzt wunderbar, allerdings muss man aufpassen nicht zuviele IPs abzufragen. Denn diese IPs werden via GET-Parameter an Google gesendet und eine URL kann nur eine maximale Anzahl Zeichen lang sein (sind glaub 4096 Zeichen oder so was). Ich versuch das aber in Zukunft so anzupassen, dass das Script die Grenze erkennt und dann mehrere Bilder von Google Maps holt. Zur Zeit ist es aber so, dass das Script ohne Fehlermeldung scheitert wenn die URL zu lange ist (man sieht dann das Icon für ein kaputtes Bild im Browser)
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat