php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > ASP, PERL, CGI, C und alles andere
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


ASP, PERL, CGI, C und alles andere Wolle ma net so sein. Obwohl Perl, ASP, C und TCL zu den minderwertigen Internet-Skriptsprachen zählen, dürfen ab sofort hierzu auch Fragen gestellt werden. ;)

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #16 (permalink)  
Alt 20-10-2006, 08:02
closure
 Master
Links : Onlinestatus : closure ist offline
Registriert seit: Mar 2006
Beiträge: 796
closure ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von holger_p
Dringende Nachfrage dazu: Wie komme ich in PHP an die TCP/IP Header Informationen?
Ich brauche den MTU/MSS Wert aus dem IP Header und die Fenstergröße aus dem TCP Header. Und von PHP habe ich nur wenig Ahnung...
Ohne es ausprobiert zu haben aber wenn du dir mal die rfcs zu den
entsprechenden protokollen anschaust oder auch mal in die sourcen
einen sniffers schaust um die headerstructur herauszufinden, kannst
du vll was mit raw sockets und unpack machen.

greets
__________________
(((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")
Mit Zitat antworten
  #17 (permalink)  
Alt 20-10-2006, 15:48
holger_p
 Newbie
Links : Onlinestatus : holger_p ist offline
Registriert seit: Oct 2006
Beiträge: 6
holger_p ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von closure
Ohne es ausprobiert zu haben aber wenn du dir mal die rfcs zu den
entsprechenden protokollen anschaust oder auch mal in die sourcen
einen sniffers schaust um die headerstructur herauszufinden, kannst
du vll was mit raw sockets und unpack machen.

greets
Die Headerstruktur ist bekannt. Darüber gibts reichlich Doku. Die Frage ist nur, wie komme ich an die Header in PHP ran? Es scheint keine Umgebungsvariablen zu geben, wo die Header drin sind, oder?


Gruß Holger
Mit Zitat antworten
  #18 (permalink)  
Alt 20-10-2006, 17:33
closure
 Master
Links : Onlinestatus : closure ist offline
Registriert seit: Mar 2006
Beiträge: 796
closure ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi,

gibt es auch nicht. Die einzige möglichkeit die dir bleibt ist packete
abzufangen. Ich bezweifle jedoch dass das global mit php möglich ist.
In c geht das recht einfach.
Schau dir doch mal ne referenzimplementierung zum senden von pings
in php an. Davon gibts ja einige. Die müssen ja beim empfang auch
in den header schauen wie die reply ausgefallen ist.

greets
__________________
(((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")
Mit Zitat antworten
  #19 (permalink)  
Alt 20-10-2006, 18:29
holger_p
 Newbie
Links : Onlinestatus : holger_p ist offline
Registriert seit: Oct 2006
Beiträge: 6
holger_p ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von closure
Hi,

gibt es auch nicht. Die einzige möglichkeit die dir bleibt ist packete
abzufangen. Ich bezweifle jedoch dass das global mit php möglich ist.
In c geht das recht einfach.
Schau dir doch mal ne referenzimplementierung zum senden von pings
in php an. Davon gibts ja einige. Die müssen ja beim empfang auch
in den header schauen wie die reply ausgefallen ist.

greets
Also verstehe ich das richtig: Man müßte Pakete abfangen? Also am besten den Client zum Pingen zu bewegen? Weil anpingen kann ich ja die Clients schlecht, kaum ein User hinter einem Router ist anpingbar. Das Ganze soll am Ende auf einem normalen Webspace laufen, kann ich da überhaupt Pakete abfagen? Es ist ein ganz normaler Webser, wo meine Seite mit vermutlich einigen 100 anderen Seiten liegt.

Wo gibts denn die "Referenzimplementierungen" ?


Gruß Holger
Mit Zitat antworten
  #20 (permalink)  
Alt 20-10-2006, 20:53
closure
 Master
Links : Onlinestatus : closure ist offline
Registriert seit: Mar 2006
Beiträge: 796
closure ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von holger_p
[B]Also verstehe ich das richtig: Man müßte Pakete abfangen? Also am besten den Client zum Pingen zu bewegen? Weil anpingen kann ich ja die Clients schlecht, kaum ein User hinter einem Router ist anpingbar. Das Ganze soll am Ende auf einem normalen Webspace laufen, kann ich da überhaupt Pakete abfagen?
Nein kannst du nicht so ohne weiteres. Normalerweise kümmert
sich der kernel bzw. der tcp/ip-stack darum dass auf dem application-layer
nicht mehr damit hantiert werden muss.

Ich hab grad mal gegoogled.
Es scheint ein binding von php zur bekannten libpcap zu geben.

Hier zu sehen. In wie
weit das ganze benutzbar ist kann ich nicht sagen.
Aber die libpcap ist auf jedenfalls das was du willst.
Um es mal auf den punkt zu bringen, effektiv brauchst du
einen packetsniffer.

Vorweg geht das ganze vorhaben generell nur wenn du
root-access zum server hast auf dem das script läuft.

Dann könntest du alle packete die am server ankommen lesen
und die jenigen die an port 80 addressiert sind dann für deine
zwecke analysieren.


greets
__________________
(((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")
Mit Zitat antworten
  #21 (permalink)  
Alt 21-10-2006, 00:48
holger_p
 Newbie
Links : Onlinestatus : holger_p ist offline
Registriert seit: Oct 2006
Beiträge: 6
holger_p ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von closure
Nein kannst du nicht so ohne weiteres. Normalerweise kümmert
sich der kernel bzw. der tcp/ip-stack darum dass auf dem application-layer
nicht mehr damit hantiert werden muss.

Ich hab grad mal gegoogled.
Es scheint ein binding von php zur bekannten libpcap zu geben.

Hier zu sehen. In wie
weit das ganze benutzbar ist kann ich nicht sagen.
Aber die libpcap ist auf jedenfalls das was du willst.
Um es mal auf den punkt zu bringen, effektiv brauchst du
einen packetsniffer.

Vorweg geht das ganze vorhaben generell nur wenn du
root-access zum server hast auf dem das script läuft.

Dann könntest du alle packete die am server ankommen lesen
und die jenigen die an port 80 addressiert sind dann für deine
zwecke analysieren.


greets
Viele Dank für Deine Mühe. Aber ich fürchte, das wird nichts. Natürlich habe ich keinen Root-Access zum Server. Und meine Unix-Kennisse würden auch nicht ausreichen, um da irgendwas nachzuinstallieren oder gar den Kernel neu zu kompilieren.

Schade eigentlich, es sollte ne deutschsprachige Seite werden, die DSL Usern Ihre TCP/IP Einstellungen anzeigt, damit man sie bei Bedarf korrigieren kann.


Gruß Holger
Mit Zitat antworten
  #22 (permalink)  
Alt 03-11-2006, 23:17
holger_p
 Newbie
Links : Onlinestatus : holger_p ist offline
Registriert seit: Oct 2006
Beiträge: 6
holger_p ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo Closure,

Zitat:
Original geschrieben von closure

[...]
Vorweg geht das ganze vorhaben generell nur wenn du
root-access zum server hast auf dem das script läuft.

Dann könntest du alle packete die am server ankommen lesen
und die jenigen die an port 80 addressiert sind dann für deine
zwecke analysieren.


greets
Könnte man sowas auf einem V-Server machen, auf dem Root Rechte hat? Die gibts schon ab 2,99 im Monat, das ist ja erschwinglich.

Was für ein Zeitaufwand wäre so eine Funktion, um am Ende die Werte in PHP nutzen zu können? Müßte sowas von jemanden mit mehr Ahnung machen lassen - habe weder von C (ist ja wohl ne C-Bibliothek) noch von Linux Ahnung.


Gruß Holger
Mit Zitat antworten
  #23 (permalink)  
Alt 04-11-2006, 09:41
closure
 Master
Links : Onlinestatus : closure ist offline
Registriert seit: Mar 2006
Beiträge: 796
closure ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi,

theoretisch sollte das auf nem vserver gehen. Sicher sagen kann ichs dir allerdings
nicht. Zum zeitaufwand kann ich nicht viel sagen, da ich, wie schon geschrieben,
mit diesem php-pcap-binding keine erfahrung habe.

Wenn du allerdings root-access hast könntest du evtl. auch einfach tools benutzen
die sowas schon machen bsp. tcp-dump. Und damit dann was basteln.
Man könnte ja den user der die anfrage stellt anhand der session-id im http-header
erkennen und dann so das entsprechende packet identifizieren.

greets
__________________
(((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")
Mit Zitat antworten
  #24 (permalink)  
Alt 04-11-2006, 22:30
holger_p
 Newbie
Links : Onlinestatus : holger_p ist offline
Registriert seit: Oct 2006
Beiträge: 6
holger_p ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von closure
Hi,

theoretisch sollte das auf nem vserver gehen. Sicher sagen kann ichs dir allerdings
nicht. Zum zeitaufwand kann ich nicht viel sagen, da ich, wie schon geschrieben,
mit diesem php-pcap-binding keine erfahrung habe.

Wenn du allerdings root-access hast könntest du evtl. auch einfach tools benutzen
die sowas schon machen bsp. tcp-dump. Und damit dann was basteln.
Man könnte ja den user der die anfrage stellt anhand der session-id im http-header
erkennen und dann so das entsprechende packet identifizieren.

greets
Ist sowas wie tcp-dumb bei Linux dabei? Auf so einem vserver kann man eigene Soft installieren, aber keine eigenen Kernel nutzen.

Kann man dann die Ausgaben von so einem Tool dann umlenken und mit PHP auswerten?


Gruß Holger
Mit Zitat antworten
  #25 (permalink)  
Alt 05-11-2006, 08:25
closure
 Master
Links : Onlinestatus : closure ist offline
Registriert seit: Mar 2006
Beiträge: 796
closure ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi,

bei manchen distris ist tcpdump dabei und wenn nicht kann man es einfach
nachinstallieren. Den kernel brauchst du dafür nicht zu patchen.

Naja die idee wäre mit tcpdump ankommende packete zu sniffen und dann
zu filtern.
Du könntest zum beispiel festlegen dass alle packete die auf port 80 ankommen
und eine bestimmte seite anfordern, meinetwegen "checkmtu.php" in eine
datei gelogged werden. Das php script muss dann diese datei nur öffnen, nach
dem packet mit der aktuellen session_id suchen und dann hätte man was man
braucht.

Ich denke so wäre das machbar.
greets
__________________
(((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:48 Uhr.