Admin Admin
Inscrit le : 17 Mar 2008 Messages : 24
| Sujet: Aspiration des infos sur une ip en php Dim 23 Mar - 17:35 | |
| [font:c04a=Courier New][color:c04a=#0000cc]<? [/color][/font][font:c04a=Courier New][color:c04a=#ff9900]// --- Récupération des infos pour une IP
[/color][color:c04a=#006600]class [/color][color:c04a=#0000cc]ip_infos [/color][/font][font:c04a=Courier New][color:c04a=#006600]{ [/color][/font][font:c04a=Courier New][color:c04a=#ff9900]// --- variables [/color][color:c04a=#006600]var [/color][color:c04a=#0000cc]$msg_erreur[/color][/font][font:c04a=Courier New][color:c04a=#006600]; var [/color][color:c04a=#0000cc]$erreur [/color][color:c04a=#006600]= [/color][color:c04a=#0000cc]0[/color][/font][font:c04a=Courier New][color:c04a=#006600]; var [/color][color:c04a=#0000cc]$serveur_whois [/color][color:c04a=#006600]= [/color][color:c04a=#cc0000]'whois.arin.net'[/color][/font][font:c04a=Courier New][color:c04a=#006600]; var [/color][color:c04a=#0000cc]$serveur_whois2 [/color][color:c04a=#006600]= [/color][color:c04a=#cc0000]''[/color][/font][font:c04a=Courier New][color:c04a=#006600]; var [/color][color:c04a=#0000cc]$whois_texte [/color][color:c04a=#006600]= [/color][color:c04a=#cc0000]''[/color][/font][font:c04a=Courier New][color:c04a=#006600];
function [/color][color:c04a=#0000cc]ip_infos[/color][color:c04a=#006600]([/color][color:c04a=#0000cc]$ip[/color][/font][font:c04a=Courier New][color:c04a=#006600]) { [/color][/font][font:c04a=Courier New][color:c04a=#ff9900]// --- IP valide ? [/color][color:c04a=#0000cc]$host [/color][color:c04a=#006600]= [/color][color:c04a=#0000cc]gethostbyaddr[/color][color:c04a=#006600]([/color][color:c04a=#0000cc]$ip[/color][/font][font:c04a=Courier New][color:c04a=#006600]); if (![/color][color:c04a=#0000cc]$ip [/color][color:c04a=#006600]== [/color][color:c04a=#0000cc]gethostbyname[/color][color:c04a=#006600]([/color][color:c04a=#0000cc]$host[/color][/font][font:c04a=Courier New][color:c04a=#006600])) { [/color][color:c04a=#0000cc]$this[/color][color:c04a=#006600]->[/color][color:c04a=#0000cc]msg_erreur [/color][color:c04a=#006600].= [/color][color:c04a=#cc0000]"$ip: adresse IP invalide<br>\n"[/color][/font][font:c04a=Courier New][color:c04a=#006600]; [/color][color:c04a=#0000cc]$this[/color][color:c04a=#006600]->[/color][color:c04a=#0000cc]erreur [/color][color:c04a=#006600]= [/color][color:c04a=#0000cc]1[/color][/font][font:c04a=Courier New][color:c04a=#006600]; } [/color][/font][font:c04a=Courier New][color:c04a=#ff9900]// --- connexion au serveur whois [/color][color:c04a=#006600]if (![/color][color:c04a=#0000cc]$this[/color][color:c04a=#006600]->[/color][color:c04a=#0000cc]erreur[/color][/font][font:c04a=Courier New][color:c04a=#006600]) { if (![/color][color:c04a=#0000cc]$sock [/color][color:c04a=#006600]= [/color][color:c04a=#0000cc]fsockopen[/color][color:c04a=#006600]([/color][color:c04a=#0000cc]$this[/color][color:c04a=#006600]->[/color][color:c04a=#0000cc]serveur_whois[/color][color:c04a=#006600], [/color][color:c04a=#0000cc]43[/color][color:c04a=#006600], [/color][color:c04a=#0000cc]$num[/color][color:c04a=#006600], [/color][color:c04a=#0000cc]$error[/color][color:c04a=#006600], [/color][color:c04a=#0000cc]20[/color][/font][font:c04a=Courier New][color:c04a=#006600])) { unset([/color][color:c04a=#0000cc]$sock[/color][/font][font:c04a=Courier New][color:c04a=#006600]); [/color][color:c04a=#0000cc]$this[/color][color:c04a=#006600]->[/color][color:c04a=#0000cc]msg_erreur [/color][color:c04a=#006600].= [/color][/font][font:c04a=Courier New][color:c04a=#cc0000]"Connexion impossible au serveur " [/color][color:c04a=#006600]. [/color][color:c04a=#0000cc]$this[/color][color:c04a=#006600]->[/color][color:c04a=#0000cc]serveur_whois[/color][color:c04a=#006600].[/color][color:c04a=#cc0000]" (port 43)"[/color][/font][font:c04a=Courier New][color:c04a=#006600]; [/color][color:c04a=#0000cc]$this[/color][color:c04a=#006600]->[/color][color:c04a=#0000cc]erreur [/color][color:c04a=#006600]= [/color][color:c04a=#0000cc]2[/color][/font][font:c04a=Courier New][color:c04a=#006600]; } } [/color][/font][font:c04a=Courier New][color:c04a=#ff9900]// --- lecture des infos [/color][color:c04a=#006600]if (![/color][color:c04a=#0000cc]$this[/color][color:c04a=#006600]->[/color][color:c04a=#0000cc]erreur[/color][/font][font:c04a=Courier New][color:c04a=#006600]) { [/color][color:c04a=#0000cc]$this[/color][color:c04a=#006600]->[/color][color:c04a=#0000cc]whois_texte [/color][color:c04a=#006600]= [/color][color:c04a=#cc0000]''[/color][/font][font:c04a=Courier New][color:c04a=#006600]; [/color][color:c04a=#0000cc]fputs[/color][color:c04a=#006600]([/color][color:c04a=#0000cc]$sock[/color][color:c04a=#006600], [/color][color:c04a=#0000cc]$ip[/color][color:c04a=#006600].[/color][color:c04a=#cc0000]"\n"[/color][/font][font:c04a=Courier New][color:c04a=#006600]); while (![/color][color:c04a=#0000cc]feof[/color][color:c04a=#006600]([/color][color:c04a=#0000cc]$sock[/color][/font][font:c04a=Courier New][color:c04a=#006600])) { [/color][color:c04a=#0000cc]$this[/color][color:c04a=#006600]->[/color][color:c04a=#0000cc]whois_texte [/color][color:c04a=#006600].= [/color][color:c04a=#0000cc]fgets[/color][color:c04a=#006600]([/color][color:c04a=#0000cc]$sock[/color][color:c04a=#006600], [/color][color:c04a=#0000cc]10240[/color][/font][font:c04a=Courier New][color:c04a=#006600]); } [/color][color:c04a=#0000cc]fclose[/color][color:c04a=#006600]([/color][color:c04a=#0000cc]$sock[/color][/font][font:c04a=Courier New][color:c04a=#006600]); [/color][/font][font:c04a=Courier New][color:c04a=#ff9900]// --- serveur whois complémentaire ? [/color][color:c04a=#006600]if ([/color][color:c04a=#0000cc]eregi[/color][color:c04a=#006600]([/color][color:c04a=#cc0000]"RIPE.NET"[/color][color:c04a=#006600], [/color][color:c04a=#0000cc]$this[/color][color:c04a=#006600]->[/color][color:c04a=#0000cc]whois_texte[/color][/font][font:c04a=Courier New][color:c04a=#006600])) { [/color][color:c04a=#0000cc]$this[/color][color:c04a=#006600]->[/color][color:c04a=#0000cc]serveur_whois2 [/color][color:c04a=#006600]= [/color][color:c04a=#cc0000]"whois.ripe.net"[/color][/font][font:c04a=Courier New][color:c04a=#006600]; } elseif ([/color][color:c04a=#0000cc]eregi[/color][color:c04a=#006600]([/color][color:c04a=#cc0000]"whois.apnic.net"[/color][color:c04a=#006600], [/color][color:c04a=#0000cc]$this[/color][color:c04a=#006600]->[/color][color:c04a=#0000cc]whois_texte[/color][/font][font:c04a=Courier New][color:c04a=#006600])) { [/color][color:c04a=#0000cc]$this[/color][color:c04a=#006600]->[/color][color:c04a=#0000cc]serveur_whois2 [/color][color:c04a=#006600]= [/color][color:c04a=#cc0000]"whois.apnic.net"[/color][/font][font:c04a=Courier New][color:c04a=#006600]; } elseif ([/color][color:c04a=#0000cc]eregi[/color][color:c04a=#006600]([/color][color:c04a=#cc0000]"nic.ad.jp"[/color][color:c04a=#006600], [/color][color:c04a=#0000cc]$this[/color][color:c04a=#006600]->[/color][color:c04a=#0000cc]whois_texte[/color][/font][font:c04a=Courier New][color:c04a=#006600])) { [/color][color:c04a=#0000cc]$this[/color][color:c04a=#006600]->[/color][color:c04a=#0000cc]serveur_whois2 [/color][color:c04a=#006600]= [/color][color:c04a=#cc0000]"whois.nic.ad.jp"[/color][/font][font:c04a=Courier New][color:c04a=#006600]; [/color][/font][font:c04a=Courier New][color:c04a=#ff9900]// --- suppression des caractères japonais sur JPNIC [/color][color:c04a=#0000cc]$flag [/color][color:c04a=#006600]= [/color][color:c04a=#cc0000]"/e"[/color][/font][font:c04a=Courier New][color:c04a=#006600]; } elseif ([/color][color:c04a=#0000cc]eregi[/color][color:c04a=#006600]([/color][color:c04a=#cc0000]"whois.registro.br"[/color][color:c04a=#006600], [/color][color:c04a=#0000cc]$this[/color][color:c04a=#006600]->[/color][color:c04a=#0000cc]whois_texte[/color][/font][font:c04a=Courier New][color:c04a=#006600])) { [/color][color:c04a=#0000cc]$this[/color][color:c04a=#006600]->[/color][color:c04a=#0000cc]serveur_whois2 [/color][color:c04a=#006600]= [/color][color:c04a=#cc0000]"whois.registro.br"[/color][/font][font:c04a=Courier New][color:c04a=#006600]; } } [/color][/font][font:c04a=Courier New][color:c04a=#ff9900]// --- interrogation du second serveur whois [/color][color:c04a=#006600]if([/color][color:c04a=#0000cc]$this[/color][color:c04a=#006600]->[/color][color:c04a=#0000cc]serveur_whois2 [/color][color:c04a=#006600]&& ![/color][color:c04a=#0000cc]$this[/color][color:c04a=#006600]->[/color][color:c04a=#0000cc]erreur[/color][/font][font:c04a=Courier New][color:c04a=#006600]) { [/color][color:c04a=#0000cc]$this[/color][color:c04a=#006600]->[/color][color:c04a=#0000cc]whois_texte [/color][color:c04a=#006600]= [/color][color:c04a=#cc0000]""[/color][/font][font:c04a=Courier New][color:c04a=#006600]; if(! [/color][color:c04a=#0000cc]$sock [/color][color:c04a=#006600]= [/color][color:c04a=#0000cc]fsockopen[/color][color:c04a=#006600]([/color][color:c04a=#0000cc]$this[/color][color:c04a=#006600]->[/color][color:c04a=#0000cc]serveur_whois2[/color][color:c04a=#006600], [/color][color:c04a=#0000cc]43[/color][color:c04a=#006600], [/color][color:c04a=#0000cc]$num[/color][color:c04a=#006600], [/color][color:c04a=#0000cc]$error[/color][color:c04a=#006600], [/color][color:c04a=#0000cc]10[/color][/font][font:c04a=Courier New][color:c04a=#006600])) { unset([/color][color:c04a=#0000cc]$sock[/color][/font][font:c04a=Courier New][color:c04a=#006600]); [/color][color:c04a=#0000cc]$this[/color][color:c04a=#006600]->[/color][color:c04a=#0000cc]msg_erreur [/color][color:c04a=#006600].= [/color][/font][font:c04a=Courier New][color:c04a=#cc0000]"Connexion impossible au serveur " [/color][color:c04a=#006600]. [/color][color:c04a=#0000cc]$this[/color][color:c04a=#006600]->[/color][color:c04a=#0000cc]serveur_whois2 [/color][color:c04a=#006600].[/color][color:c04a=#cc0000]" (port 43)"[/color][/font][font:c04a=Courier New][color:c04a=#006600]; } else { [/color][color:c04a=#0000cc]fputs[/color][color:c04a=#006600]([/color][color:c04a=#0000cc]$sock[/color][color:c04a=#006600], [/color][color:c04a=#0000cc]$ip[/color][color:c04a=#006600].[/color][color:c04a=#0000cc]$flag[/color][color:c04a=#006600].[/color][color:c04a=#cc0000]"\n"[/color][/font][font:c04a=Courier New][color:c04a=#006600]); while (![/color][color:c04a=#0000cc]feof[/color][color:c04a=#006600]([/color][color:c04a=#0000cc]$sock[/color][/font][font:c04a=Courier New][color:c04a=#006600])) { [/color][color:c04a=#0000cc]$this[/color][color:c04a=#006600]->[/color][color:c04a=#0000cc]whois_texte [/color][color:c04a=#006600].= [/color][color:c04a=#0000cc]fgets[/color][color:c04a=#006600]([/color][color:c04a=#0000cc]$sock[/color][color:c04a=#006600], [/color][color:c04a=#0000cc]10240[/color][/font][font:c04a=Courier New][color:c04a=#006600]); } [/color][color:c04a=#0000cc]fclose[/color][color:c04a=#006600]([/color][color:c04a=#0000cc]$sock[/color][/font][font:c04a=Courier New][color:c04a=#006600]); } } if(![/color][color:c04a=#0000cc]$this[/color][color:c04a=#006600]->[/color][color:c04a=#0000cc]erreur[/color][/font][font:c04a=Courier New][color:c04a=#006600]) { [/color][color:c04a=#0000cc]$tb_lignes [/color][color:c04a=#006600]= [/color][color:c04a=#0000cc]explode[/color][color:c04a=#006600]([/color][color:c04a=#0000cc]chr[/color][color:c04a=#006600]([/color][color:c04a=#0000cc]10[/color][color:c04a=#006600]), [/color][color:c04a=#0000cc]$this[/color][color:c04a=#006600]->[/color][color:c04a=#0000cc]whois_texte[/color][/font][font:c04a=Courier New][color:c04a=#006600]); [/color][color:c04a=#0000cc]$this[/color][color:c04a=#006600]->[/color][color:c04a=#0000cc]infos [/color][/font][font:c04a=Courier New][color:c04a=#006600]= array(); for ([/color][color:c04a=#0000cc]$i[/color][color:c04a=#006600]=[/color][color:c04a=#0000cc]0[/color][color:c04a=#006600]; [/color][color:c04a=#0000cc]$i[/color][color:c04a=#006600]<[/color][color:c04a=#0000cc]count[/color][color:c04a=#006600]([/color][color:c04a=#0000cc]$tb_lignes[/color][color:c04a=#006600]); [/color][color:c04a=#0000cc]$i[/color][/font][font:c04a=Courier New][color:c04a=#006600]++) { [/color][color:c04a=#0000cc]$tmptb [/color][color:c04a=#006600]= [/color][color:c04a=#0000cc]explode[/color][color:c04a=#006600]([/color][color:c04a=#cc0000]":"[/color][color:c04a=#006600], [/color][color:c04a=#0000cc]$tb_lignes[/color][color:c04a=#006600][[/color][color:c04a=#0000cc]$i[/color][/font][font:c04a=Courier New][color:c04a=#006600]]); if ([/color][color:c04a=#0000cc]count[/color][color:c04a=#006600]([/color][color:c04a=#0000cc]$tmptb[/color][color:c04a=#006600]) > [/color][color:c04a=#0000cc]1 [/color][color:c04a=#006600]&& [/color][color:c04a=#0000cc]substr[/color][color:c04a=#006600]([/color][color:c04a=#0000cc]$tmptb[/color][color:c04a=#006600][[/color][color:c04a=#0000cc]0[/color][color:c04a=#006600]], [/color][color:c04a=#0000cc]0[/color][color:c04a=#006600], [/color][color:c04a=#0000cc]1[/color][color:c04a=#006600])!=[/color][color:c04a=#cc0000]'%'[/color][/font][font:c04a=Courier New][color:c04a=#006600]) { [/color][color:c04a=#0000cc]$key [/color][color:c04a=#006600]= [/color][color:c04a=#0000cc]trim[/color][color:c04a=#006600]([/color][color:c04a=#0000cc]$tmptb[/color][color:c04a=#006600][[/color][color:c04a=#0000cc]0[/color][/font][font:c04a=Courier New][color:c04a=#006600]]); [/color][color:c04a=#0000cc]$val [/color][color:c04a=#006600]= [/color][color:c04a=#0000cc]trim[/color][color:c04a=#006600]([/color][color:c04a=#0000cc]$tmptb[/color][color:c04a=#006600][[/color][color:c04a=#0000cc]1[/color][/font][font:c04a=Courier New][color:c04a=#006600]]); if([/color][color:c04a=#0000cc]strlen[/color][color:c04a=#006600]([/color][color:c04a=#0000cc]$this[/color][color:c04a=#006600]->[/color][color:c04a=#0000cc]infos[/color][color:c04a=#006600][[/color][color:c04a=#cc0000]"$key"[/color][color:c04a=#006600]]) > [/color][color:c04a=#0000cc]0[/color][/font][font:c04a=Courier New][color:c04a=#006600]) { [/color][color:c04a=#0000cc]$this[/color][color:c04a=#006600]->[/color][color:c04a=#0000cc]infos[/color][color:c04a=#006600][[/color][color:c04a=#cc0000]"$key"[/color][color:c04a=#006600]] .= [/color][color:c04a=#cc0000]', ' [/color][color:c04a=#006600]. [/color][color:c04a=#0000cc]$val[/color][/font][font:c04a=Courier New][color:c04a=#006600]; } elseif ([/color][color:c04a=#0000cc]$key[/color][color:c04a=#006600]) [/color][color:c04a=#0000cc]$this[/color][color:c04a=#006600]->[/color][color:c04a=#0000cc]infos[/color][color:c04a=#006600][[/color][color:c04a=#cc0000]"$key"[/color][color:c04a=#006600]] = [/color][color:c04a=#0000cc]$val[/color][/font][font:c04a=Courier New][color:c04a=#006600]; } } } }
} [/color][color:c04a=#0000cc]?>[/color] [/font] |
|
redon22
Age : 25 Inscrit le : 29 Mar 2008 Messages : 1
| Sujet: Whois Sam 29 Mar - 9:54 | |
| Bonjour Super,c'est ce que je recherchais.A plus |
|