I use ms command "ping site_name" to know a site's IP How can I use ASP instead of ms command to ping site? So we can check site IP through a web page. Thanks/ Regards
If I understand you correctly: <% Dim UserIPAddress UserIPAddress = Request.ServerVariables("HTTP_X_FORWARDED_FOR") If UserIPAddress = "" Then UserIPAddress = Request.ServerVariables("REMOTE_ADDR") End If Response.Write UserIPAddress %> Code (markup):
Actually, I need is ASP step 1: a submit form can submit a site name example www . google.com step 2: a result to show what is www . google.com's IP it is similar to ms command ( ping www . google.com ) will give the domain's IP Thanks,
I'm unaware of how to do this in classic asp but here is .NET: Imports System.Net Sub resolveHost(ByVal host As String) Dim iphe As New IPHostEntry iphe = Dns.GetHostEntry(host) Response.Write("Resolving " & iphe.HostName & " ...<br />") For Each ip In iphe.AddressList Response.Write(ip.ToString & "<br />") Next End Sub Code (markup):
This article presents a simple way to ping an address and get the results of the ping using ASP. The idea was supplied by Bart Silverstein. First, a .BAT file needs to be created that will be run from the Active Server Page. Let‘s call this file DoPing.BAT. It will contain only one statement, which will ping a passed in IP address. Here is the code for DoPing.BAT: ping -a %1d:\INetPub\cgi-bin\%2.txt This will, if you can‘t tell, ping the address passed in as the first command line argument (%1), and redirect the results to a text file named hy the second command line argument (%2). Now, let‘s look how we would call this from an ASP file: %Set FileSys = Server.CreateObject("Scripting.FileSystemObject") FileName = FileSys.GetTempNameSet WShShell = Server.CreateObject("WScript.Shell")IP = "204.123.54.1" ‘ or whatever you want to ping RetCode = WShShell.Run("d:\Inetpub\cgi-bin\DoPing.bat " IP " " FileName, 1, True)if RetCode = 0 Then‘There were no errorselseResponse.Redirect "PingErrors.htm"end if Set TextFile = FileSys.OpenTextFile("d:\InetPub\cgi-bin\" FileName ".txt", 1) TextBuffer = TextFile.ReadAllFor i = 1 to Len(TextBuffer)If Mid(TextBuffer,i,1) = chr(13) ThenResponse.Write("BR")elseResponse.Write(Mid(TextBuffer,i,1)) end ifNextTextFile.CloseFileSys.DeleteFile "d:\Inetpub\cgi-bin\" FileName ".txt"% Before you go hog wild and implement this code or use similar techniques on your site, there are a few things you should be wary of. From a secutiry standpoint, this is really dangerous, for any time you let someone run an application on your server there is always the potential that it will come back to haunt you. One suggestion to lessen the threat: make a separate folder with no script or execute priviledges, and have your DoPing.bat output its results to that folder. I hope this article was informative an interesting. Happy Programming!