Comment faire la difference avec script php entre reseau et pc ?

Fermé
pascal - Modifié par pascal le 11/03/2014 à 08:08
 pascal - 13 mars 2014 à 15:42
Bonjour,


Je me demande bien comment faire un script php sur mon site pour voir si les visiteurs viennent d'un reseau commercial compose de plusieurs ordinateurs en reseau ou d'un ordinateur personnel via un hebergeur .
et je vous remercie par avance.

mr pascal
A voir également:

1 réponse

brupala Messages postés 109551 Date d'inscription lundi 16 juillet 2001 Statut Membre Dernière intervention 12 mai 2024 13 633
Modifié par brupala le 11/03/2014 à 10:46
Salut,
certainement qu'un whois sur l'adresse ip devrait aider :
https://www.frameip.com/whois/

et ... Voili Voilou Voila !
0
pour trouver l'adresse-ip adresse ip il y a un script plus simple en fouinant et qui fonctionne sans rien comprendre :

<?
function detectip()
{
// Récupération de l'ip du visiteur
if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$ip =$_SERVER['HTTP_X_FORWARDED_FOR'];
}
elseif(isset($_SERVER['HTTP_CLIENT_IP']))
{
$ip = $_SERVER['HTTP_CLIENT_IP'];
}
else
{
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
{
$port = $_SERVER['SERVER_PORT'];
}
return $port;
}
?>
(euh les deux dernieres lignes pour le port ne fonctionne pas : ca vient de moi :)


Cela m'a donner une autre idee pour eliminer les gros site et serveurs il faut peut etre mieux faire une selection des ports ouverts necessaires au minimum pour un pc standard cad:
tcp 80
tcp 8081
tcp 81
tcp 443
tcp 25
tcp 587
tcp 143
tcp 110
tcp 993
tcp 995
tcp 3306
tcp 53
tcp 8080
tcp 20
tcp 21
tcp 22
udp 53

mais comment faire un script php pour scanner les ports avec ce filtre "standard" et eliminer les gros serveurs des qu'il y a un port qui n'appartient pas a ce modele ??
je suis debutant en php , j'ai trouve peut etre un debut pour commencer mais je suis completement depassé par la gestion du"creating socket" ??? :


<?php
// Main Script begins here
error_reporting(~E_ALL);
//ip port range and ip
$host=$_POST['ip'];
$from = $_POST['from']; //48 connections supported for now, change php.ini default_socket_timeout for more
$to = $_POST['to'];
//validation
if (empty($_POST["ip"]) || empty($_POST['from']) || empty($_POST['to']))
{
echo"<b> Incomplete data, Go back! </b>";
}
elseif (!(filter_var($host, FILTER_VALIDATE_IP,FILTER_FLAG_IPV4)))
{
echo "<b>This IP address is not valid ! </b>";
}
elseif (!(is_numeric($from)) || !(is_numeric($to)))
{
echo "<b>Entered data is not a Port numeber</b>";
}
elseif ($from > $to || $from==$to)
{
echo "<b>Please enter lower value in the <i>FROM</i> field !</b>";
}
else
{
echo "<br><b><u>Scanned IP/Host : $host </u><br><u><i>List of Open Ports:</i></u></b><br>";

//Creating Socket
$socket = socket_create(AF_INET , SOCK_STREAM , SOL_TCP);
for($port = $from; $port <= $to ; $port++)
{
//connect to the host and port
$connection = socket_connect($socket , $host , $port);
if($connection)
{
//display port open warning on connect
echo "port $port Open (Warning !) <img src='warning.png' height=30px width=30px alt='open port'> ".'<br>';
//close the socket connection
socket_close($socket);
//Create a new since earlier socket was closed , we need to close and recreate only when a connection is made
//otherwise we can use the same socket
$socket = socket_create(AF_INET , SOCK_STREAM , SOL_TCP);
}
else
{
}
}
}

?>
0
brupala Messages postés 109551 Date d'inscription lundi 16 juillet 2001 Statut Membre Dernière intervention 12 mai 2024 13 633
11 mars 2014 à 12:10
Pourquoi scanner les ports ?
ça ne peut rien apporter:
la plupart des entreprises sont derrière un proxy http.
Tu pars sur un bien mauvais principe.
0
C'est peut etre idiot mais un proxy ca fonctionne sur quel port ?
0
un peu par hasard en fouinant, j'ai remarque que le port 7 etait echo et que proxy ou pas il doit bien exister a la difference d'un pc standard , non ?
0
brupala Messages postés 109551 Date d'inscription lundi 16 juillet 2001 Statut Membre Dernière intervention 12 mai 2024 13 633
11 mars 2014 à 12:54
echo est peut-etre juste ouvert sur le routeur.
un proxy utilise n'importe quel port vers le web , tout comme ton navigateur en port source, fais un netsat -n sur ton PC et sur un proxy en sortie vers le net, tu auras la même chose.
à l'intérieur de son réseau, par contre, il va écouter sur un port défini par l'admin, en général 3128 ou 8080
0