Torna al Thread
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace Test
{
public partial class _Default : System.Web.UI.Page
{
System.Net.NetworkInformation.Ping ping = new System.Net.NetworkInformation.Ping();
System.Net.NetworkInformation.PingReply pingReply;
System.Net.NetworkInformation.PingOptions pingOptions = new System.Net.NetworkInformation.PingOptions();
protected void Page_Load(object sender, EventArgs e)
{
string result = string.Empty;
pingOptions.Ttl = 1;
string destinazione = "";
string partenza = " ";
byte[] val = new byte[20];
do
{
destinazione = partenza;
try
{
//On envoit la requete du ping, la requete s'arrête au bout de x ruoteur, celui-ci renvoie une réponse à la place du serveur recherché
pingReply = ping.Send("192.168.0.20", 300, val, pingOptions);
partenza = pingReply.Address.ToString();
//On affiche le résultat du ping sur le routeur intermédiaire
result += pinger(partenza);
}
catch (Exception ex)
{
//En cas d'erreur on affiche un message d'erreur et on change l'adresse pour pas sortir de la boucle
result += "Timeout (ou erreur lors du ping)\n";
partenza = partenza + pingOptions.Ttl.ToString();
}
//# ' le ttl est le nombre d'intermédaire entre nous est le serveur cherché
pingOptions.Ttl = pingOptions.Ttl + 1;
} while (destinazione != partenza);
//Melis.Net.Whois bizWhois = new Melis.Net.Whois("melis.it");
//lit.Text = "<pre>" + bizWhois.GetResult() + "</pre>";
lit.Text = "<pre>" + result + "</pre>";
}
public string pinger(string adress)
{
System.Net.IPAddress ipAddress;
try
{
// On envoit la requete du ping
pingReply = ping.Send(adress);
// On affiche le résultat du ping
ipAddress = pingReply.Address;
return "De " + ipAddress.ToString() + " domaine " + System.Net.Dns.GetHostEntry(ipAddress).HostName.ToString ()+ " octets=" + pingReply.Buffer.Length.ToString() + " temps=" + pingReply.RoundtripTime.ToString() + " ms \n";
}
catch (Exception ex)
{
// En cas d'erreur on affiche un message d'erreur
return "Timeout (ou erreur lors du ping)\n";
}
}
}
}