DynDNS selbstgemacht
DynDNS selbstgemacht
In letzter Zeit häufen sich in meinem Umfeld die Probleme, wo jemand einen Server (http-, ftp-, etc.) zu Hause betreibt und die weltweite Erreichbarkeit mittels DynDNS.org (oder einem anderen Anbieter) herzustellen versucht, was in der tatsächlichen Praxis dann aber scheitert. Ich meine mich zu erinnern, dass auch hier im Forum vor ein paar Wochen das Thema mal angesprochen wurde (weiß nicht mehr genau das Stichwort).
Es gibt aber ganz einfache und vor allem zuverlässige Lösungen, die man selbst bauen kann und durch die man unabhängig von irgendwelchen Anbietern wird. Einzige Voraussetzung ist ein eigener Webspace (Homepage-Domain) mit php-Support. Sowas gibt es heute an jeder Ecke für wenig Geld (teils auch kostenlos).
Ich will hier kein totes Pferd reiten, für manchen mag das altbekannt sein. Falls doch jemand an der Lösung interessiert ist, hab ich das mal etwas detaiilierter beschrieben und auch etwas lauffähigen Code dazu geschrieben: http://os2.zworks.de/MyDynDNS/deu/index.html (z.Zt. nur in deutsch).
Don Lucio.
Es gibt aber ganz einfache und vor allem zuverlässige Lösungen, die man selbst bauen kann und durch die man unabhängig von irgendwelchen Anbietern wird. Einzige Voraussetzung ist ein eigener Webspace (Homepage-Domain) mit php-Support. Sowas gibt es heute an jeder Ecke für wenig Geld (teils auch kostenlos).
Ich will hier kein totes Pferd reiten, für manchen mag das altbekannt sein. Falls doch jemand an der Lösung interessiert ist, hab ich das mal etwas detaiilierter beschrieben und auch etwas lauffähigen Code dazu geschrieben: http://os2.zworks.de/MyDynDNS/deu/index.html (z.Zt. nur in deutsch).
Don Lucio.
-
- Beiträge: 571
- Registriert: Fr 10. Jan 2014, 07:24
- Wohnort: 641m ü. NN
Und da gehts bei mir schon los. PHP: schon mal davon gehört - nie gemacht. WebSpace - wer schaut dort alles rein...Einzige Voraussetzung ist ein eigener Webspace (Homepage-Domain) mit php-Support. Sowas gibt es heute an jeder Ecke für wenig Geld (teils auch kostenlos).
DynDNS geht schon - man muss sich halt jeden Monat einmal einloggen - ansonsten geht das ohne Probleme.
Die Lösung mit MyDynDNS ist aber zugegebenermaßen reizvoll
Gruss
Mußt du auch nicht. Dafür liefere ich ja den PHP-Dreizeiler mit. Der funktioniert (jedenfalls für diese einfache Grundfunktion) unmodifiziert.eCSBenutzer hat geschrieben:Und da gehts bei mir schon los. PHP: schon mal davon gehört - nie gemacht.
Lass' ihn doch reinschauen. Da ist ja nix drin, außer eben dem PHP-Dreizeiler, und der birgt ja nun wirklich keine Geheimnisse.WebSpace - wer schaut dort alles rein...
Wenn's bei dir klappt, dann ok, klar. Ich habe aber einige Fälle kennengelernt, wo's Probleme gibt, der unterschiedlichsten Art.DynDNS geht schon ...
Hinzu kommt noch etwas, was Geschmacksache ist: Ich habe gern möglichst alles selbst "unter Kontrolle". Und ich finde es auch eleganter, den Zugriff zu meinem Homeserver nicht über "DonLucio4711.DynDNS.Org.net" zu starten, sondern über "DonLucio.de/MyHomeserver". Das ist aber sicher eine Marginalie, zugegeben.
Ich wollte nur eine alternative Möglichkeit aufzeigen. Jeder kann's natürlich machen, wie er will.
Gruß,
Don Lucio.
Finde ich sehr interessant. Muß nur noch testen ob mein Provider php scripts zulässt.
Ich hoffe, ich komme hier nicht in den Verdacht, versteckte Werbung zu betreiben, wenn ich diese Information abgebe:Andi B. hat geschrieben:Muß nur noch testen ob mein Provider php scripts zulässt.
Es gibt Kostenlos-Angebote, die sogar php beinhalten, z.B. http://www.hostinger.de/.
Oder Billig-Angebote von Firmen, denen ich zwar niemals eine echte Web-Präsenz anvertrauen würde, die aber für die DynDNS-Zwecke ausreichen sollten, z.B. 1blu.
Gruß,
D.L.
- ARoederer
- Beiträge: 398
- Registriert: Fr 27. Dez 2013, 17:25
- Wohnort: Hamburg / Germany
- Kontaktdaten:
Moin
Deinem PHP-Skript fehlen die Sicherheitsüberprüfungen.
a) Jeder kann seine IP-Adresse dort hinterlegen.
b) Du schreibst die Portnummer ungeprüft auf die HDD
Wenn Interesse besteht, kann ich Dir eine Passwortabfrage und die Validierung einzubauen.
Andreas
Deinem PHP-Skript fehlen die Sicherheitsüberprüfungen.
a) Jeder kann seine IP-Adresse dort hinterlegen.
b) Du schreibst die Portnummer ungeprüft auf die HDD
Wenn Interesse besteht, kann ich Dir eine Passwortabfrage und die Validierung einzubauen.
Andreas
Hallo Andreas,
Aber ich habe es bewußt gaaaanz simpel gehalten, weil es soll nur dem Zweck dienen, das Prinzip zu veranschaulichen.
Aber wenn du eine Validierung der Portnummer weißt, wäre ich interessiert, die zu erfahren.
Gruß,
Lutz W.
In dem Skript auf meiner Website fehlt noch so manches, claro.ARoederer hat geschrieben:Deinem PHP-Skript fehlen die Sicherheitsüberprüfungen.
Aber ich habe es bewußt gaaaanz simpel gehalten, weil es soll nur dem Zweck dienen, das Prinzip zu veranschaulichen.
Das ist sicherlich nicht gut. Aber dagegen hilft ein simpler Passwortschutz mit einer .htaccess-Datei. Dann muß aber auch das lokal laufende Rexx-Skript diesen Login mit beinhalten (im http-GET). Wie gesagt, mein Ziel war absolute Beschränkung auf das Prinzipelle.ARoederer hat geschrieben:a) Jeder kann seine IP-Adresse dort hinterlegen.
Wogegen soll ich die prüfen? Ihre Gültigkeit wird ja durch die Gegebenheiten auf dem (lokalen) Homeserver definiert. Und dort muß ja ohnehin die tatsächliche Port-Zuordnung im Router spezifiziert werden (Port-Forwarding). Von daher wäre es sogar denkbar, Portnummern 1, 2, 3 ... zu vergeben, die erst im Router auf die tatsächlichen Portnummern zugewiesen werden.ARoederer hat geschrieben:b) Du schreibst die Portnummer ungeprüft auf die HDD
Die Passwortabfrage brauche ich nicht unbedingt, wie gesagt, da gibt es viele Möglichkeiten, nicht nur .htaccess, sondern auch eigen programmierte Lösungen sind denkbar. Alles Geschmacksache, möchte ich nicht standardisieren.ARoederer hat geschrieben:Wenn Interesse besteht, kann ich Dir eine Passwortabfrage und die Validierung einzubauen.
Aber wenn du eine Validierung der Portnummer weißt, wäre ich interessiert, die zu erfahren.
Gruß,
Lutz W.
- Frank Wochatz
- Beiträge: 1142
- Registriert: So 22. Dez 2013, 22:04
- Wohnort: Berlin
- Kontaktdaten:
Es gibt auch noch eine Alternative, die wir hier mal besprochen haben:
http://www.commtalk.org/cgi-bin/wwwthre ... &sb=5&vc=1
Dabei wird nach dem Verbindungsaufbau (in dem Fall ISDNPM) eine Datei auf einen Webspace hochgeladen. Diese enthält die IP des Homeservers und eine HTML-Weiterleitung auf die IP. Damit ist ein Homeserver mit dynamischer IP über eine Domain erreichbar.
http://www.commtalk.org/cgi-bin/wwwthre ... &sb=5&vc=1
Dabei wird nach dem Verbindungsaufbau (in dem Fall ISDNPM) eine Datei auf einen Webspace hochgeladen. Diese enthält die IP des Homeservers und eine HTML-Weiterleitung auf die IP. Damit ist ein Homeserver mit dynamischer IP über eine Domain erreichbar.
Hallo Frank,
Was mir aber unklar ist: Uwe schreibt in dem o.a. Posting:
Eine interessante Lösung. Sie hätte gegenüber meiner den Vorteil, dass man kein PHP benötigt auf der eigenen Homepage.Frank Wochatz hat geschrieben:Es gibt auch noch eine Alternative, die wir hier mal besprochen haben:
http://www.commtalk.org/cgi-bin/wwwthre ... &sb=5&vc=1
Was mir aber unklar ist: Uwe schreibt in dem o.a. Posting:
Wie stelle ich auf dem lokalen Rechner fest, welche externe IP-Adresse der Provider mir zugeordnet hat? Mit der Rexx-Funktion SockGetHostId() bekomme ich ja nur meine lokale IP-Adresse (192.168. ...).Wählt sich der eigene Rechner nun ins Netz, bekommt er eine dynamische IP zugwiesen. Diese IP stellt man fest und modifiziert mit dieser eine WEB-Seite auf dem Providerrechner.
- Frank Wochatz
- Beiträge: 1142
- Registriert: So 22. Dez 2013, 22:04
- Wohnort: Berlin
- Kontaktdaten:
Hallo Lutz,
Mit DSL und ISDN müsste man die IP Adresse mit IFCONFIG auslesen können.
Mit ISDNPM haben wir damal imo die IP aus ISDNPM abgefragt, aus Injoy müsste man die Adresse auch auslesen können.
Wenn Du über einen Router ala Fritzbox ins Netz gehst, mußt Du imo den Router auslesen (frag mich jetzt nicht wie das geht, kommt halt auf den Router an) oder einen externen Service benutzen, zB. http://getmyipaddress.org/ (dann bist Du aber im Prinzip wieder bei Deiner Lösung).
das komtm darauf an, wie Du ins Internet gehst.Wie stelle ich auf dem lokalen Rechner fest, welche externe IP-Adresse der Provider mir zugeordnet hat? Mit der Rexx-Funktion SockGetHostId() bekomme ich ja nur meine lokale IP-Adresse (192.168. ...).
Mit DSL und ISDN müsste man die IP Adresse mit IFCONFIG auslesen können.
Mit ISDNPM haben wir damal imo die IP aus ISDNPM abgefragt, aus Injoy müsste man die Adresse auch auslesen können.
Wenn Du über einen Router ala Fritzbox ins Netz gehst, mußt Du imo den Router auslesen (frag mich jetzt nicht wie das geht, kommt halt auf den Router an) oder einen externen Service benutzen, zB. http://getmyipaddress.org/ (dann bist Du aber im Prinzip wieder bei Deiner Lösung).
Hallo Frank,
Dafür hätte man andererseits im lokalen Rexx-Skript mehr Aufwand (z.B. FTP-Coding) und man wäre von der Protokoll-Stabilität des Echoservers abhängig.
Deswegen wäre es schön, wenn man mit Bordmitteln die ext. IP-Adresse erfahren könnte, z.B. - wie du schreibst - mit ifconfig (aus dem Router auslesen wäre vermutlich auch eine geräte-abhängige, nicht standardisierte Lösung). Wenn du also zum ifconfig die genaue Syntax sagen könntest - das wäre schon ein Fortschritt.
Gruß,
Lutz
Gegenüber meiner Lösung hätte dein Vorschlag mit dem Echoserver immer noch den Vorteil, auf PHP verzichten zu können. Das kann für den einen oder anderen ausschlaggebend sein.Frank Wochatz hat geschrieben:oder einen externen Service benutzen, zB. http://getmyipaddress.org/ (dann bist Du aber im Prinzip wieder bei Deiner Lösung).
Dafür hätte man andererseits im lokalen Rexx-Skript mehr Aufwand (z.B. FTP-Coding) und man wäre von der Protokoll-Stabilität des Echoservers abhängig.
Deswegen wäre es schön, wenn man mit Bordmitteln die ext. IP-Adresse erfahren könnte, z.B. - wie du schreibst - mit ifconfig (aus dem Router auslesen wäre vermutlich auch eine geräte-abhängige, nicht standardisierte Lösung). Wenn du also zum ifconfig die genaue Syntax sagen könntest - das wäre schon ein Fortschritt.
Gruß,
Lutz
- Frank Wochatz
- Beiträge: 1142
- Registriert: So 22. Dez 2013, 22:04
- Wohnort: Berlin
- Kontaktdaten:
Hallo Lutz,
Ansonsten wäre die Syntax:
ifconfig eth0 (DSL)
ifconfig scheint zudem auch unter OS2 nicht komplett zu sein. Unter Linux reicht ein ifconfig ohne Parameter, und die Daten werden zurückgegeben (aber eben auch nur wie mit SockGetHostId())
Wenn Du einen externen Router verwendest, wird kein Weg dran vorbeiführen, den Router direkt auszulesen. Das geht zB. mit HTTP-Request, wenn Dein Router eine Webadministration hat. Ich hab ja für die Fritzbox ein Programm geschrieben, das die Anruferlister ausliest. Ich benutze WGET und starte einen HTTP Request (inkl. Login). Ist möglich und keine Zauberei, aber wie Du schon sagst bei jedem Router sicher anders.
Hier gibts übrigens einen Minivarainte des IP Echos (gut zum parsen):
http://ipecho.net/plain
ifconfig geht mit Router imo nicht. M.W. wird die Internet-IP Deines Routers nicht an den Rechner übergeben. Die Lösungen die man für die Abfrage im Internet so findet, lesen das Log des Routers aus.Deswegen wäre es schön, wenn man mit Bordmitteln die ext. IP-Adresse erfahren könnte, z.B. - wie du schreibst - mit ifconfig (aus dem Router auslesen wäre vermutlich auch eine geräte-abhängige, nicht standardisierte Lösung). Wenn du also zum ifconfig die genaue Syntax sagen könntest - das wäre schon ein Fortschritt.
Ansonsten wäre die Syntax:
ifconfig eth0 (DSL)
ifconfig scheint zudem auch unter OS2 nicht komplett zu sein. Unter Linux reicht ein ifconfig ohne Parameter, und die Daten werden zurückgegeben (aber eben auch nur wie mit SockGetHostId())
Wenn Du einen externen Router verwendest, wird kein Weg dran vorbeiführen, den Router direkt auszulesen. Das geht zB. mit HTTP-Request, wenn Dein Router eine Webadministration hat. Ich hab ja für die Fritzbox ein Programm geschrieben, das die Anruferlister ausliest. Ich benutze WGET und starte einen HTTP Request (inkl. Login). Ist möglich und keine Zauberei, aber wie Du schon sagst bei jedem Router sicher anders.
Hier gibts übrigens einen Minivarainte des IP Echos (gut zum parsen):
http://ipecho.net/plain
Hallo Frank,
Ok, vielen Dank für die zusätzlichen Anregungen.
Gruß,
Don Lucio.
Ist das nicht sowieso immer Voraussetzung, wenn man eigene Server betreibt? Ich denke, spätestens wenn man mehr als 1 hat (z.B. ein NAS und ein Forum) braucht's einen RouterFrank Wochatz hat geschrieben:Wenn Du einen externen Router verwendest,...
Das wäre immerhin mal eine Idee. Ist aber wohl ne Menge Programmieraufwand. Aber wenn man partout kein PHP auf der Website haben will, dann wär's eine Lösung.Frank Wochatz hat geschrieben:...wird kein Weg dran vorbeiführen, den Router direkt auszulesen. Das geht zB. mit HTTP-Request, wenn Dein Router eine Webadministration hat.
Ok, vielen Dank für die zusätzlichen Anregungen.
Gruß,
Don Lucio.
- Frank Wochatz
- Beiträge: 1142
- Registriert: So 22. Dez 2013, 22:04
- Wohnort: Berlin
- Kontaktdaten:
Ja, aber wenn der Router eine Software auf einem Computer ist, auf den Du Zugriff hast, dann ist die Sache natürlich einfacher und flexibler. Dann kannst Du Dir die IP vom Router aus zusenden, bzw. der Router Computer lädt die IP dann gleich sekber hoch.
Ich hatte das noch nachträglich eingegeben, super Sache:
Ich hatte das noch nachträglich eingegeben, super Sache:
Hier gibts übrigens einen Minivarainte des IP Echos (gut zum parsen):
http://ipecho.net/plain
Das OS kann natürlich nicht die andere Seite des Routers anzeigen. Das versteht sich von selbst. Der Router übernimmt diese Aufgabe ganz alleine, sonst wäre es kein Router. Das OS bekommt davon nichts mit.
Nö, anders:Frank Wochatz hat geschrieben: Ansonsten wäre die Syntax:
ifconfig eth0 (DSL)
Code: Alles auswählen
epm: D:\ > ifconfig lan0
lan0: flags=b863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST,BRIDGE,SNAP,LOOPBRD>
inet 192.168.0.35 netmask 0xffffff00 broadcast 192.168.0.255
epm: D:\ > ifconfig eth0
ioctl (SIOCGIFFLAGS): No such device or address
epm: D:\ > ifconfig -?
Usage: ifconfig [-q] interface
[ [ address [ dest_addr ] ] [ up | down | delete] [ netmask mask ]
[ broadcast brd_addr ] ]
[ metric n ]
[ mtu n ]
[ trailers | -trailers ]
[ arp | -arp ]
[ allrs | -allrs ]
[ snap | -snap ] [ bridge | -bridge ]
[ icmpred | -icmpred ]
[ 802.3 | -802.3 ]
[ canonical | -canonical ]
[ multibc | multifa ]
[ alias | -alias ]
[ backup | -backup ]
Andreas Schnellbacher
- Frank Wochatz
- Beiträge: 1142
- Registriert: So 22. Dez 2013, 22:04
- Wohnort: Berlin
- Kontaktdaten:
Ah sorry sitze gerade an Linux, da ist es etwas anders. Ansonsten geht noch netstat -a
Vorausgestzt, Du hast gerade eine Verbindung aufgebaut, hilt auch folgendes weiter:
Das listet dann sogar die externe IP-Adresse, die der Provider dem Router zugewiesen hat. Das funktioniert leider nur, solange eine Verbindung besteht. Der Router selbst und der Provider sind schlauer. Externe Werkzeuge sind notwendig.
Code: Alles auswählen
epm: D:\ > netstat -s
--------------------------------------------------------------------------
AF_INET Address Family:
Total Number of sockets 40
SOCK TYPE FOREIGN LOCAL FOREIGN STATE
PORT PORT HOST
====== ===== ========== ========== ========== ========
1 DGRAM 0 netbios-dgm..138 0.0.0.0 UDP
2 DGRAM 0 netbios-ns..137 0.0.0.0 UDP
3 STREAM 0 netbios-ssn..139 0.0.0.0 CLOSED
4 DGRAM 0 emfis-data..140 0.0.0.0 UDP
6 STREAM 0 0 0.0.0.0 CLOSED
4776 STREAM 63245 63246 127.0.0.1 ESTABLISH
4777 STREAM 63246 63245 127.0.0.1 ESTABLISH
5551 STREAM http..80 63682 62.138.116.3 ESTABLISH
5576 STREAM http..80 63702 85.183.195.131 ESTABLISH
5610 DGRAM 0 0 0.0.0.0 UDP
0 STREAM http..80 63687 85.183.195.131 TIME_WAIT
0 STREAM http..80 63690 85.183.195.131 TIME_WAIT
0 STREAM http..80 63691 85.183.195.131 TIME_WAIT
0 STREAM http..80 63692 85.183.195.131 TIME_WAIT
0 STREAM http..80 63693 85.183.195.131 TIME_WAIT
0 STREAM http..80 63694 85.183.195.131 TIME_WAIT
0 STREAM http..80 63708 62.138.116.23 TIME_WAIT
0 STREAM http..80 63709 62.138.116.23 TIME_WAIT
0 STREAM http..80 63710 62.138.116.23 TIME_WAIT
0 STREAM http..80 63711 62.138.116.23 TIME_WAIT
0 STREAM http..80 63712 62.138.116.23 TIME_WAIT
0 STREAM http..80 63703 85.183.195.131 TIME_WAIT
0 STREAM http..80 63704 85.183.195.131 TIME_WAIT
0 STREAM http..80 63705 85.183.195.131 TIME_WAIT
0 STREAM http..80 63706 85.183.195.131 TIME_WAIT
0 STREAM http..80 63688 85.183.195.121 TIME_WAIT
0 STREAM http..80 63689 85.183.195.121 TIME_WAIT
0 STREAM http..80 63695 85.183.195.121 TIME_WAIT
0 STREAM http..80 63683 62.138.116.3 TIME_WAIT
0 STREAM http..80 63680 173.194.113.168 TIME_WAIT
0 STREAM http..80 63696 85.183.195.121 TIME_WAIT
0 STREAM http..80 63684 62.138.116.3 TIME_WAIT
0 STREAM http..80 63697 85.183.195.121 TIME_WAIT
0 STREAM http..80 63685 62.138.116.3 TIME_WAIT
0 STREAM http..80 63698 85.183.195.121 TIME_WAIT
0 STREAM http..80 63686 62.138.116.3 TIME_WAIT
0 STREAM http..80 63699 85.183.195.121 TIME_WAIT
0 STREAM http..80 63700 85.183.195.121 TIME_WAIT
0 STREAM http..80 63701 85.183.195.121 TIME_WAIT
0 STREAM http..80 63679 173.194.113.174 TIME_WAIT
--------------------------------------------------------------------------
AF_OS2 Address Family:
Total Number of sockets 4
Type: STREAM State: ---
Local Name: \socket\10
Foreign Name:
Type: STREAM State: CONNECTED
Local Name:
Foreign Name: \socket\10
Type: STREAM State: ---
Local Name: \socket\11
Foreign Name:
Type: STREAM State: CONNECTED
Local Name:
Foreign Name: \socket\11
epm: D:\ >
Andreas Schnellbacher
- Frank Wochatz
- Beiträge: 1142
- Registriert: So 22. Dez 2013, 22:04
- Wohnort: Berlin
- Kontaktdaten:
Super - noch besser!
Nur - wie fischt man sich da die richtige IP raus.
Nur - wie fischt man sich da die richtige IP raus.
Bei eCS ist seit einiger Zeit ein myip.exe dabei welche dir diese liefert. Alex hat das mal gemacht und ich hab einiges für mich erweitert (regelmäßiges schreiben in ein log file). Liegt auch auf hobbes.Wie stelle ich auf dem lokalen Rechner fest, welche externe IP-Adresse der Provider mir zugeordnet hat?
Myip benötigt auch einen externen echo server. Einige sind in der sample cfg datei hinterlegt. ipecho.net kannte ich noch nicht, muß ich mal ergänzen. Besser wäre aber ein 'stabiler' OS/2 - eCS echo server der sich nicht alle Jahre verabschiedet. Vielleicht wäre das hier auf teamos2hamburg.de oder auf os2world.com möglich.
Nachtrag: wenn man auf hier einen echo server einrichten würde, wäre wahrscheinlich auch eine User/Passwort Abfrage dafür sinnvoll. Sonst fragt die ganze Welt hier an.
- Frank Wochatz
- Beiträge: 1142
- Registriert: So 22. Dez 2013, 22:04
- Wohnort: Berlin
- Kontaktdaten:
Super Idee. ev. dann gleich auf os2.org. Andreas?Vielleicht wäre das hier auf teamos2hamburg.de oder auf os2world.com möglich.
Super, das ging aber schnell. Der passende Eintrag in die myip.cfg dazu sieht so aus -
Btw. kleiner Rechtschreibfehler - You / Your
Code: Alles auswählen
ip.os2.org 80 / Address is:
- Frank Wochatz
- Beiträge: 1142
- Registriert: So 22. Dez 2013, 22:04
- Wohnort: Berlin
- Kontaktdaten:
Sehr gut, besten Dank! Da werd auch auch mal wieder meinen Homeserver aktivieren.ARoederer hat geschrieben:Hab ich mal eingerichtet. http://ip.os2.org/
Die Unterseiten hab ich zwar probiert, aber irgendwie hat das nicht geklappt. Nach "sending GET http://ip.os2.org/checkip/ HTTP/1.0" kommt zurück -
Irgendwie stimmt da offensichtlich der Aufruf von myip nicht ganz. Da müßte ich mal mittracen was ein Webbrowser genau sendet.
Code: Alles auswählen
'HTTP/1.1 404 Not Found
21:03:23 P219,T1 : Date: Mon, 17 Mar 2014 20:03:23 GMT
21:03:23 P219,T1 : Server: Apache/2.2.26 (CentOS)
21:03:23 P219,T1 : Content-Length: 206
21:03:23 P219,T1 : Connection: close
21:03:23 P219,T1 : Content-Type: text/html; charset=iso-8859-1
21:03:23
21:03:23 P219,T1 : <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
21:03:23 P219,T1 : <html><head>
21:03:23 P219,T1 : <title>404 Not Found</title>
21:03:23 P219,T1 : </head><body>
21:03:23 P219,T1 : <h1>Not Found</h1>
21:03:23 P219,T1 : <p>The requested URL /checkip/ was not found on this server.</p>
21:03:23 P219,T1 : </body></html>
21:03:23 P219,T1 : ' (HTTP/1.1 404 Not Found
21:03:23 P219,T1 : Date: Mon, 17 Mar 2014 20:03:23 GMT
21:03:23 P219,T1 : Server: Apache/2.2.26 (CentOS)
21:03:23 P219,T1 : Content-Length: 206
21:03:23 P219,T1 : Connection: close
21:03:23 P219,T1 : Content-Type: text/html; charset=iso-8859-1
21:03:23