Script um Online Status einer Seite anzuzeigen

Dr Dau

ich wisch hier durch
Hallo!

Versuch es mal hiermit:
HTML:
<html>
<head>
<title>Server-Status</title>
</head>
<body>
<table border="1">
<?php
$fp = @fsockopen("server1-ip",80,&$errno,&$errstr,2); 
if(!$fp) 
{ 
echo "<tr><td width=\"100\">Server ist</td><td width=\"100\"><font color=\"red\">offline</font></td></tr>"; 
} 
else 
{ 
echo "<tr><td width=\"100\">Server ist</td><td width=\"100\"><font color=\"green\">online</font></td></tr>"; 
} 
?> 
<?php
$fp = @fsockopen("server1-ip",21,&$errno,&$errstr,2); 
if(!$fp) 
{ 
echo "<tr><td width=\"100\">FTP #1 ist</td><td width=\"100\"><font color=\"red\">offline</font></td></tr>"; 
} 
else 
{ 
echo "<tr><td width=\"100\">FTP #1 ist</td><td width=\"100\"><font color=\"green\">online</font></td></tr>"; 
} 
?> 
<?php
$fp = @fsockopen("server1-ip",110,&$errno,&$errstr,2); 
if(!$fp) 
{ 
echo "<tr><td width=\"100\">POP3 ist</td><td width=\"100\"><font color=\"red\">offline</font></td></tr>"; 
} 
else 
{ 
echo "<tr><td width=\"100\">POP3 ist</td><td width=\"100\"><font color=\"green\">online</font></td></tr>"; 
} 
?> 
<?php
$fp = @fsockopen("server2-ip",2121,&$errno,&$errstr,2); 
if(!$fp) 
{ 
echo "<tr><td width=\"100\">FTP #2 ist</td><td width=\"100\"><font color=\"red\">offline</font></td></tr>"; 
} 
else 
{ 
echo "<tr><td width=\"100\">FTP #2 ist</td><td width=\"100\"><font color=\"green\">online</font></td></tr>"; 
} 
?> 
</table>
</body>
</html>
server1-ip und server2-ip sind, ebenso wie die Ports und Serverbeschreibungen, anzupassen.
Getestet mit verschiedenen Diensten auf verschiedenen Servern.
Das ganze lässt sich natürlich noch mittels HTML-Anweisungen bzw. CSS Optisch aufarbeiten.

Gruss Dr Dau

[edit] Ach ja, und was die Ports angeht. Es sind zwar für die üblichen Dienste bestimmte Ports als Standard vorgegeben (kleine Auswahl), jedoch kann der Admin diese ändern. Im Zweifel guckst Du also in die Konfiguration. ;) [/edit]
 
Zuletzt bearbeitet:

Tnw1

Grünschnabel
hallo mich interessiert auch so ein script nur leider komme ich mit dem Design nicht mit habe schon 2 tagelang rumexperimentiert aber ohne erfolg möchte das script in diesem desing haben


Code:
<html>

<head>
<title>Status</title>
</head>

<body>

<table cellSpacing="0" cellPadding="0" width="550" border="0">
  <tr>
    <td width="50" height="25"><span style="FONT-WEIGHT: bold">Port</span></td>
    <td width="180" height="25"><span style="FONT-WEIGHT: bold">Dienst</span></td>
    <td align="middle" width="70" height="25"><span style="FONT-WEIGHT: bold">
    Status</span></td>
    <td width="250" height="25"><span style="FONT-WEIGHT: bold">Anmerkung</span></td>
  </tr>
  <tr>
    <td>21</td>
    <td>FTP-Server (FTP)</td>
    <td align="middle">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>22</td>
    <td>Linuxshell (SSH) </td>
    <td align="middle">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>25</td>
    <td>Postausgangsserver (SMTP) </td>
    <td align="middle">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>53</td>
    <td>1. Nameserver (DNS) </td>
    <td align="middle">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>53</td>
    <td>2. Nameserver (DNS) </td>
    <td align="middle">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>53</td>
    <td>3. Nameserver (DNS) </td>
    <td align="middle">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>53</td>
    <td>4. Nameserver (DNS) </td>
    <td align="middle">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>80</td>
    <td>Webserver (HTTP) </td>
    <td align="middle">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>110</td>
    <td>Posteingangsserver (POP3)</td>
    <td align="middle">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>143</td>
    <td>Posteingangsserver (IMAP) </td>
    <td align="middle">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>3306</td>
    <td>Datenbankserver (MYSQL) </td>
    <td align="middle">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table>

</body>

</html>

nur wie bekomme ichdas so hin ? Bitte helft mir
 

Dr Dau

ich wisch hier durch
Hallo!

PHP:
<?php
$fp = @fsockopen("server1-ip",21,&$errno,&$errstr,2); 
if(!$fp) 
{ 
echo "<tr><td>21</td><td>FTP-Server (FTP)</td><td align=\"middle\">offline</td><td>Hier deine Anmerkung</td></tr>"; 
} 
else 
{ 
echo "<tr><td>21</td><td>FTP-Server (FTP)</td><td align=\"middle\">online</td><td>Hier deine Anmerkung</td></tr>";
} 
?>
Und wo ist nun das Problem?
Bei "server1-ip" muss Da natürlich noch die IP eintragen.
Für weitere Server den Code dublizieren und die Zelleninhalte + IP anpassen.
Der Rest ist reines HTML, dass hast Du ja schon.

Ich habe das Script bewusst so gemacht, weil es so auf einfachste Art zu ändern/erweitern ist.

Gruss Dr Dau
 

Tnw1

Grünschnabel
hi danke für die schnelle antwort aber genau das ist mein problem ich schaff es einfach nicht das script in meine html datei einzubinden mit genau diesem design
 

Dr Dau

ich wisch hier durch
Kann es sein dass Du mit einem WYSIWYG Editor arbeitest?
Dann solltest Du mal in den Quellcode-Modus umschalten und dort den Code einfügen.
Alternativ kannst Du es auch in z.b. Notepad machen.
Dir ist aber hoffentlich klar dass die Datei die Endung .php haben muss?
 

Tnw1

Grünschnabel
ich schaffe es einfach nicht den befehl zum abfragen des status an die richtige stelle des desing zu setzen entweder wird mir der code selbst angezeigt oder der status wird unter dem design angezeigt hier mal die komplette .php datei wie ich es versucht habe


Code:
<H1 class=big><IMG height=10 src="img/point_10px.gif" width=20>Aktueller 
Systemstatus</H1>
<H2>&nbsp;</H2>
<TABLE cellSpacing=0 cellPadding=0 width=550 border=0>
<TBODY>
<TR>
<TD width=50 height=25><SPAN style="FONT-WEIGHT: bold">Port</SPAN></TD>
<TD width=180 height=25><SPAN style="FONT-WEIGHT: bold">Dienst</SPAN></TD>
<TD align=middle width=70 height=25><SPAN 
style="FONT-WEIGHT: bold">Status</SPAN></TD>
<TD width=250 height=25><SPAN 
style="FONT-WEIGHT: bold">Anmerkung</SPAN></TD></TR>
<TR>
<TD>21</TD>
<TD>FTP-Server (FTP)</TD>
<TD align=middle><IMG height=12 src="img/status_green_point_twinkle.gif" 
width=20>


<CODE><FONT color=#000000><FONT color=#0000bb>&lt;?php<BR>$fp </FONT><FONT 
color=#007700>= @</FONT><FONT color=#0000bb>fsockopen</FONT><FONT 
color=#007700>(</FONT><FONT color=#dd0000>"http://servdaemon.se.funpic.de/"</FONT><FONT 
color=#007700>,</FONT><FONT color=#0000bb>21</FONT><FONT 
color=#007700>,&amp;</FONT><FONT color=#0000bb>$errno</FONT><FONT 
color=#007700>,&amp;</FONT><FONT color=#0000bb>$errstr</FONT><FONT 
color=#007700>,</FONT><FONT color=#0000bb>2</FONT><FONT color=#007700>); 
<BR>if(!</FONT><FONT color=#0000bb>$fp</FONT><FONT color=#007700>) <BR>{ 
<BR>echo </FONT><FONT 
color=#dd0000>"&lt;tr&gt;&lt;td&gt;21&lt;/td&gt;&lt;td&gt;FTP-Server 
(FTP)&lt;/td&gt;&lt;td align=\"middle\"&gt;offline&lt;/td&gt;&lt;td&gt;Hier 
deine Anmerkung&lt;/td&gt;&lt;/tr&gt;"</FONT><FONT color=#007700>; <BR>} 
<BR>else <BR>{ <BR>echo </FONT><FONT 
color=#dd0000>"&lt;tr&gt;&lt;td&gt;21&lt;/td&gt;&lt;td&gt;FTP-Server 
(FTP)&lt;/td&gt;&lt;td align=\"middle\"&gt;online&lt;/td&gt;&lt;td&gt;Hier deine 
Anmerkung&lt;/td&gt;&lt;/tr&gt;"</FONT><FONT color=#007700>;<BR>} 
<BR></FONT><FONT color=#0000bb>?&gt;</FONT> </FONT></CODE>



</TD>
<TD>&nbsp;</TD></TR>
<TR>
<TD>22</TD>
<TD>Linuxshell (SSH) </TD>
<TD align=middle><IMG height=12 src="img/status_green_point_twinkle.gif" 
width=20></TD>
<TD>&nbsp;</TD></TR>
<TR>
<TD>25</TD>
<TD>Postausgangsserver (SMTP) </TD>
<TD align=middle><IMG height=12 src="img/status_green_point_twinkle.gif" 
width=20></TD>
<TD>&nbsp;</TD></TR>
<TR>
<TD>53</TD>
<TD>1. Nameserver (DNS) </TD>
<TD align=middle><IMG height=12 src="img/status_green_point_twinkle.gif" 
width=20></TD>
<TD>&nbsp;</TD></TR>
<TR>
<TD>53</TD>
<TD>2. Nameserver (DNS) </TD>
<TD align=middle><IMG height=12 src="img/status_green_point_twinkle.gif" 
width=20></TD>
<TD>&nbsp;</TD></TR>
<TR>
<TD>80</TD>
<TD>Webserver (HTTP) </TD>
<TD align=middle><IMG height=12 src="img/status_green_point_twinkle.gif" 
width=20></TD>
<TD>&nbsp;</TD></TR>
<TR>
<TD>110</TD>
<TD>Posteingangsserver (POP3)</TD>
<TD align=middle><IMG height=12 src="img/status_green_point_twinkle.gif" 
width=20></TD>
<TD>&nbsp;</TD></TR>
<TR>
<TD>143</TD>
<TD>Posteingangsserver (IMAP) </TD>
<TD align=middle><IMG height=12 src="img/status_green_point_twinkle.gif" 
width=20></TD>
<TD>&nbsp;</TD></TR>
<TR>
<TD>3306</TD>
<TD>Datenbankserver (MYSQL) </TD>
<TD align=middle><IMG height=12 src="img/status_green_point_twinkle.gif" 
width=20></TD>
<TD>&nbsp;</TD></TR></TBODY></TABLE>
<P> </P>

ich weiß echt nicht mehr was ich da noch versuchen kann oder wie ich es "richtig" da einfügen kann
 

Dr Dau

ich wisch hier durch
Hallo!

Frontpage ist ein WYSIWYG Editor und so wie es aussieht fügst Du den Code im WYSIWYG-Modus ein, dass wird so nie was.
Entweder Du kannst in Frontpage auf Quellcode-Modus umschalten oder Du machst es mit z.b. Notepad.

Ausserdem darfst Du kein Protokoll (http://) mit angeben, in deinem Posting versuchst Du so nämlich einen Webserver auf Port21 abzufragen, Port21 ist aber ein FTP-Server, Webserver ist Port80.

Wenn ich mir dein Posting so ansehe, hat Frontpage eh Probleme im WYSIWYG-Modus mit Copy&Paste.
Dabei hat Frontpage die Schriftformatierung aus dem Forum übernommen und HTML-Zeichen maskiert, beides darf so nicht sein.

Wenn du dich mit Quellcode bearbeitung nicht auskennst, wirst Du immer wieder auf solche und andere Probleme stossen.
Da kann ich dir nur SelfHTML ans Herz legen.
SelfHTML gibt es auch als offline Version zum Download und ist als Pflichtlektüre für jeden Webmaster anzusehen.
Zielgruppen

Zielgruppe sind alle Computer-Anwender, die einen Web-Browser ihr Eigen nennen, die möglichst schon einige "Surf"-Erfahrungen im Web gesammelt haben und die nun wissen möchten, wie man selbst Web-Seiten erstellt. Alle Menschen, die sich privat, ehrenamtlich oder beruflich mit dem Erstellen von Web-Seiten beschäftigen, sind angesprochen. Erklärtes Ziel des Dokuments ist es, Menschen Mut zu machen, das, was sie zu sagen haben, selbst im Web zu publizieren und dadurch aktiv an der World Wide Web Revolution teilzunehmen. Denn das Motto des Web lautet: "Everyone's a publisher".

SELFHTML enthält sowohl einführende Kapitel für Anfänger als auch reine Nachschlagekapitel für Profis. Die Dokumentation ist eine Mischung aus Tutorial und Referenz.

Das Motto - die Energie des Verstehens - ist ernst gemeint. SELFHTML richtet sich nicht an Leute, die mit dem Anspruch antreten, alles fertig vorgesetzt zu bekommen und dann damit prahlen zu können, was sie tolles Eigenes geschaffen haben. Diese Dokumentation ist kein "Ihre-Homepage-in-zehn-Minuten"-Quickie. Das Dokument möchte erreichen, dass seine Anwender verstehen was sie lernen und wissen was sie tun, wenn sie an eigenen Web-Seiten arbeiten. Es richtet sich an Lernwillige, die bereit sind, sich mit einer faszinierenden Materie auseinander zu setzen, die aber immer wieder neue Fragen aufwirft, mitunter zur Verzweiflung treibt und viel Zeit zum Entdecken und Ausprobieren erfordert.
Gruss Dr Dau
 

justlooking

Gesperrt
Code:
<?
  function icqstatus($uin) {
       $fp = fsockopen ("status.icq.com", 80, $errno, $errstr, 4);
    if (!$fp) {
      return "[Fehler/Error: $errstr ($errno)]";
    } else {
      fputs ($fp, "GET /online.gif?icq=$uin&img=5 HTTP/1.0\r\n\r\n");
      while (!feof($fp)) {
        $line = fgets ($fp,128);
        if (preg_match ("/^Location:/", $line)) {
          if (preg_match ("/\/5\/online1\.gif/", $line)) {
            return "online";  // online
          } elseif (preg_match ("/\/5\/online0\.gif/", $line)) {
            return "offline";  // offline
          } elseif (preg_match ("/\/5\/online2\.gif/", $line)) {
            return "nicht feststellbar/not detectable";  // disabled or user doesn't exist
          } else {
            return "[Fehler/Error]";  // error
          }
          break;
        }
      }
      fclose ($fp);
    }
  }

  echo icqstatus(123456);
?>
So das ist für eine Homepage um den ICQ Status anzuzeigen. jetzt wollte ich euch bloß fragen was wo rein muss: ICQ Nummer etc.
Danke für eure Hilfe
 
N

Nehoz

Ist eigentlich kein Ding und ganz einfach was das betrifft! Du musst es natürlich noch vernünftig in ein Style einbetten und zum Beispiel mit Grafiken für den Online / Offline Status versehen da es ansonsten ja nicht wirklich prall ausieht!

So denn mal die Stelle wo die ICQ Nummer reinkommt.

Code:
echo icqstatus(DEINE ICQ NUMMER);