php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 14.04.2006, 11:24  
Erfahrener Benutzer
 
Registriert seit: 21.01.2004
Beiträge: 131
Sachse
Standard IP Adressen im Netz scannen

Hallo ,

da immer mal der Wunch nach einem PHP-Script hier laut wird und ich gerade eins gebraucht und geschrieben habe , möchte ich es anderen suchenden zur Verfügung stellen . Es darf auch über die Ausführung der Programmierung diskutiert werden. Nur so lernt man ja dazu.

Code:

<body bgcolor="#A8A0FF">
<h3>Netscan  IP-Adressen erfassen</h3>






<?php
if  (  (empty($ip1)) or (empty($ip2)) or (empty($ip3))or (empty($ip4))  ){


?>
<FORM  method="post" action="index.php">
  



<INPUT type="text" name="ip1" size="3" maxlength="3" value="<?php echo $ip1  ?>">.
<INPUT type="text" name="ip2" size="3" maxlength="3" value="<?php echo $ip2  ?>">.
<INPUT type="text" name="ip3" size="3" maxlength="3" value="<?php echo $ip3  ?>">.
<INPUT type="text" name="ip4" size="3" maxlength="3" value="<?php echo $ip4  ?>">
 bis
<INPUT type="text" name="ip5" size="3" maxlength="3" value="<?php echo $ip4?>">
Port
<SELECT name="port">
  	<OPTION><?php echo $port  ?></OPTION>
	<OPTION>80</OPTION>
	<OPTION>20</OPTION>
	<OPTION>21</OPTION>
	
</SELECT>




<INPUT type="submit" value="scan">
</FORM>







<?php
}else{

echo '
<FORM  method="post" action="index.php">
  



<INPUT type="text" name="ip1" size="3" maxlength="3" value='.$ip1.'>.
<INPUT type="text" name="ip2" size="3" maxlength="3" value='.$ip2.'>.
<INPUT type="text" name="ip3" size="3" maxlength="3" value='.$ip3.'>.
<INPUT type="text" name="ip4" size="3" maxlength="3" value='.$ip4.'>
 bis
<INPUT type="text" name="ip5" size="3" maxlength="3" value='.$ip5.'>
Port
<SELECT name="port">
  	<OPTION>'.$port.'</OPTION>
	<OPTION>80</OPTION>
	<OPTION>20</OPTION>
	<OPTION>21</OPTION>
	
</SELECT>




<INPUT type="submit" value="scan">
</FORM>

';



echo "gescannter Port -$port

";

echo '<table border="1" >
 <tbody align="center"><tr> <td>IP Adresse</td> <td> Status</td><td> Internet-Host-Namen</td>
</tr>
    ';
if($ip5 == ""){$ip5=$ip4;}







while($ip4 <= $ip5){

$IP="$ip1.$ip2.$ip3.$ip4";

if (!@$fp = fsockopen($IP,$port, $errno, $errstr, 1)){ 
$status="offline"; $color="#DC4B0D";
} 
else { 
$status="online"; $color="#7EFF22";
} 

echo '<tr> <td bgcolor='.$color.'>'.$IP.'</td> <td> '.$status.'</td><td>'. gethostbyaddr($IP).'</td></tr>';
$ip4++;

}

echo '
    
  </tbody>
</table>';
}
?>

</body>

Es können einzelne IP Adressen gezielt angepingt werden oder ganze Bereiche. Wichtig ist das der Port mit angegeben wird. Hier habe ich nur 3 Stück eingebunden. Kann aber geändert werden.
Mit ausgegeben wird der Host-Name.


Bitte Danke
Sachse ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 14.04.2006, 11:33  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Da geht ja garnichts...
Haufenweise PHP-Notices und wenn ich die Datei test.php nenne und nicht wie von dir festgelegt index.php machts auch keinen Spass.
Zergling-new ist offline  
Alt 14.04.2006, 11:47  
Erfahrener Benutzer
 
Registriert seit: 21.01.2004
Beiträge: 131
Sachse
Standard

Zitat:
Zitat von Zergling
Da geht ja garnichts...
Haufenweise PHP-Notices und wenn ich die Datei test.php nenne und nicht wie von dir festgelegt index.php machts auch keinen Spass.
Kommt die Frage auf "WARUM ?"

Ich liege hinter einem Router und scanne das interne Netz .Auch ein Ping nach außen funzt bei mir. Sollte also laufen. Benutze Lampp auf Linux
Sachse ist offline  
Alt 14.04.2006, 11:52  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Sachse
Kommt die Frage auf "WARUM ?"
http://php.net/security.globals
Zitat:
the default value for the PHP directive register_globals went from ON to OFF in PHP 4.2.0
Das ist schon eine Weile her.


Welchen Vorteil bringt es eigentlich, dass man eine IP Adresse in vier Teilen angeben muss? Ein einzelnes Feld, in das man auch bei Bedarf einen Namen eintippen kann, ist doch viel praktischer.
Warum gibt es den Code zum Anzeigen des Formulars zweimal?
Der Code sieht unaufgeräumt und wenig strukturiert aus.
 
Alt 14.04.2006, 13:46  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo Sachse,

ich schließe mich meinen Vorrednern 1:1 an. Hinzufügen möchte ich, dass du die "Überpfüfungsfunktion" kapseln solltest. Die IP-Adresse sollte möglichst in der Form 192.168.123.23 angegeben werden. Diese kannst du dann an eine Test-Funktion übergeben, die bei Erfolg true und bei Fehler den Fehler zurückgibt.


Grüße,
Dr.E.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Alt 15.04.2006, 18:17  
Erfahrener Benutzer
 
Registriert seit: 21.01.2004
Beiträge: 131
Sachse
Standard

Ich hoffe das ihr nun etwas mit mir zufriedener seit

Das mit dem doppelten Formular ist irgendwie eine schlechte Angewohnheit von mir die ich wirklich endlich mal ablegen sollte. Mann kann so denk ich als Einsteiger die Bereiche etwas besser auseinanderhalten. Für den erfahrenen wird das nicht verständlich sein . Aber ihr habt recht.

Wenn man PHP nur lokal betreibt , sollte ich dennoch auf register_globals = on verzichten und mich auch hier umstellen ?



Code:
<body bgcolor="#A8A0FF"> 
<h3>Netscan  IP-Adressen erfassen</h3>

<?php

//Input etwas füllen :-)
if($IP == ""){$IP="192.168.1.1";}
if($ip2 == ""){$ip2="1";}

//Eingabe -  Formular
echo '
	<FORM  method="post" action="index2.php">
		<INPUT type="text" name="IP" size="15" maxlength="15" value='.$IP.'>bis
		<INPUT type="text" name="ip2" size="3" maxlength="3" value='.$ip2.'>Port
		<SELECT name="port">
  			<OPTION>80</OPTION>
			<OPTION>20</OPTION>
			<OPTION>21</OPTION>
			<OPTION>1631</OPTION>
		</SELECT>
		


		<INPUT type="submit" name="scannen" value="scannen">
	</FORM><hr>
';

//IP-Adresse zerlegen
$start=explode(".",$IP);


if (!isset($scannen)) {exit; }else {

	//Tabellenkopf
	echo '<table border="1" >
 	<tbody align="center"><tr> <td>IP Adresse</td> <td> Status</td><td> Internet-Host-Namen</td>
	</tr>';


$ende=$start[3];

while($ende <= $ip2){

	//IP-Adresse zusammen setzen
	$IPscan="$start[0].$start[1].$start[2].$ende";
	
	//BGColor festlegen
	if (!@$fp = fsockopen($IPscan,$port, $errno, $errstr, 1)){ 
	$status="offline"; $color="#DC4B0D";
	}else { 
	$status="online"; $color="#7EFF22";
	} 

	//Ausgabe der Tabelle
	echo '<tr bgcolor='.$color.'><td >'.$IPscan.'</td> <td> '.$status.'</td><td>'. gethostbyaddr($IPscan).'</td></tr>';

	//Zähler für While um 1 erhöhen
	$ende++;



}
	//Tabelle abschließen
	echo '</tbody></table>';
}

?>

</body>
Noch hinzukommen soll eine Überprüfung der IP-Adresse auf richtigen Aufbau (Länge und Aufbau). Aber erst warte ich auf euren Tadel


Danke trotzdem für eure Kritik :wink:
Sachse ist offline  
Alt 15.04.2006, 20:10  
Erfahrener Benutzer
 
Benutzerbild von DER_Brain
 
Registriert seit: 18.04.2005
Beiträge: 1.541
PHP-Kenntnisse:
Fortgeschritten
DER_Brain ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Wenn man PHP nur lokal betreibt , sollte ich dennoch auf register_globals = on verzichten und mich auch hier umstellen ?
Auf jeden fall auf OFF!

Ich weiß ned, wie es bei dir is, aber ich entwickle etwas lokal und stelle es dann ins Netz, deswegen is es sicher besser, wenn du es bei beiden auf OFF hast!
DER_Brain ist offline  
Alt 15.04.2006, 21:29  
Gast
 
Beiträge: n/a
Standard Re: IP Adressen im Netz scannen

Zitat:
Zitat von Sachse
Es können einzelne IP Adressen gezielt angepingt werden oder ganze Bereiche. Wichtig ist das der Port mit angegeben wird.
seit wann können ports angepingt werden?
 
Alt 16.04.2006, 10:25  
Erfahrener Benutzer
 
Registriert seit: 21.01.2004
Beiträge: 131
Sachse
Standard

@YaB

Jo klar kannst du keinen Port pingen.
Und mit fsockopen pingt man ja nun auch nicht. Also bitte keine Haarspalterei :wink:

Du weist aber was ich meine.
Sachse ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
API zur Entfernungsberechnung von 2 Adressen freger JavaScript, Ajax und mehr 1 30.07.2008 18:07
Doppelte E-Mail Adressen herausfinden r-ene PHP Tipps 2008 16 16.07.2008 12:54
Mod Rewrite - nur für Adressen größer als ? tayke Server, Hosting und Workstations 9 02.05.2007 14:30
Adressen ausgeben snatch-ic PHP Tipps 2006 5 23.08.2006 14:01
email adressen filtern annaloga PHP Tipps 2006 13 23.06.2006 13:56
[PHP] mail() Problem mit AOL Adressen horvath-media PHP Tipps 2006 25 23.03.2006 19:53
phpmailer Fehler bei den Adressen Cyberbob_at_tot PHP Tipps 2007 3 30.11.2005 14:40
Barrierefreiheit im Netz Faebe Off-Topic Diskussionen 12 28.08.2005 16:59
mail von lokalem Server an SMTP im Netz -after_pop- Problem PHP-Fortgeschrittene 7 12.08.2005 14:40
Ein Nutzer mehrere IP Adressen innerhalb von Minuten? CSS PHP Tipps 2005 14 23.05.2005 20:59
Mailversand mit Adressen aus Datenbank PHP Tipps 2005 9 10.03.2005 12:13
Verstecken von e-mail adressen vor Spamrobots PHP Tipps 2005 22 12.01.2005 23:16
Alle Email Adressen aus einem Text rausfiltern und speichern PHP-Fortgeschrittene 3 04.09.2004 16:55
Hab 10 Bilder (je eine url) im Netz, aber wie mit DB ? PHP Tipps 2004 10 09.08.2004 02:36
IP scannen Sachse PHP Tipps 2004 3 22.07.2004 20:03

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php ip-scan, php ip scan script, ip scanner php, php ip scanner, netzwerkadressen scannen, php ip scan, ip adressen scannen, ip adresse scanner, php netzwerk scan, netzwerk ip scan php, netzwerk scan php, ip adresse erfassen, alle netzwerkadressen scannen, php netzwerk scannen, php netzwerk scann, php code unaufgeräumt, php lan scannen, ip3=$(echo $ip | cut -d\.\ -f3), php ip-adresse scannen, scan ip adressen

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:35 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.