Hacer búsquedas en ASP.Net en estos días puede considerarse mi introducción. La idea es muy simple, el objetivo principal es identificar el Banner devuelto por el host remoto y determinar el servidor host remoto. Es posible que esto no sea exacto porque los administradores calificados pueden modificar el banner.
El código es el siguiente (encontrado en mi búsqueda web, usando VB.Net)
Dim swWriter As StreamWriter
'Se utiliza para transmitir datos al flujo de datos de la infraestructura de red.
Atenuar nsStream como NetworkStream
'Crear un flujo de datos basado en red para enviar datos
Dim tcpClient2 como TcpClient
'A través de él, se realiza una solicitud de conexión TCP al host remoto
Dim sHostName como cadena
Dim srRead como StreamReader
'Leer datos del flujo de datos de la infraestructura de red
'Búsqueda de servicio HTTP
Si TcpConnect(ZSIP, 80) = "CG" Entonces
OppHTTP.Text = "¡Se ha iniciado el servicio HTTP! Tipo de software de servicio: desconocido"
Intentar
'tcpClient = Nuevo TcpClient(Dirección IP, Puerto)
tcpClient2 = Nuevo TcpClient(ZSIP.ToString(), 80)
tcpClient2.ReceiveTimeout = 1000000
tcpClient2.SendTimeout = 1000000
'Realizar una solicitud de conexión TCP para el puerto 8000 del host remoto
nsStream = tcpClient2.GetStream()
'Aplicar y obtener el flujo de datos básico de la red para transmitir datos.
swWriter = Nuevo StreamWriter (nsStream)
swWriter.WriteLine("Obtener /index.htm HTTP/1.1")
swWriter.WriteLine("Host:" & IP.Text)
swWriter.WriteLine("Aceptar:*/*")
swWriter.WriteLine("Referente:")
swWriter.WriteLine()
'Actualiza los datos en el flujo de datos actual
swWriter.Flush()
srRead = Nuevo StreamReader (nsStream, Encoding.Default)
'Inicializa la instancia de StreamReader con el flujo de datos básicos de red obtenido
Atenuar L como entero = 0
Hacer mientras no srRead.Peek = -1 y L <20
StrHttp = StrHttp y srRead.ReadLine()
L = L + 1
Bucle
Si InStr(StrHttp, "IIS") > 0 Entonces
OppHTTP.Text = "¡Se ha iniciado el servicio HTTP! Tipo de software de servicio: versión IIS desconocida"
SystemFW = "WindowsNT/2000/XP/2003"
Terminar si
Si InStr(StrHttp, "Apache") > 0 Entonces
OppHTTP.Text = "¡Se ha iniciado el servicio HTTP! Tipo de software de servicio: versión de Apache desconocida"
Terminar si
Si InStr(StrHttp, "Netscape-Enterprise") > 0 Entonces
OppHTTP.Text = "¡Se ha iniciado el servicio HTTP! Tipo de software del servicio: versión de Netscape-Enterprise desconocida"
Terminar si
Si InStr(StrHttp, "Microsoft-IIS/5.0") > 0 Entonces
OppHTTP.Text = "¡Se ha iniciado el servicio HTTP! Tipo de software de servicio: IIS 5.0"
SistemaFW = "Windows2000"
Terminar si
Si InStr(StrHttp, "Microsoft-IIS/5.1") > 0 Entonces
OppHTTP.Text = "¡Se ha iniciado el servicio HTTP! Tipo de software de servicio: IIS 5.1"
SystemFW = "Windows2000/XP"
Terminar si
Si InStr(StrHttp, "Microsoft-IIS/6.0") > 0 Entonces
OppHTTP.Text = "¡Se ha iniciado el servicio HTTP! Tipo de software de servicio: IIS 6.0"
SistemaFW = "Windows2003"
Terminar si
Si InStr(StrHttp, "Apache/2") > 0 Entonces
OppHTTP.Text = "¡Se ha iniciado el servicio HTTP! Tipo de software de servicio: Apache 2.x"
Terminar si
Si InStr(StrHttp, "Apache/2.0.54") > 0 Entonces
OppHTTP.Text = "¡Se ha iniciado el servicio HTTP! Tipo de software de servicio: Apache 2.0.54"
Terminar si
Si InStr(StrHttp, "Apache/2.0.52") > 0 Entonces
OppHTTP.Text = "¡Se ha iniciado el servicio HTTP! Tipo de software de servicio: Apache 2.0.52"
Terminar si
Si InStr(StrHttp, "Apache/2.1.6") > 0 Entonces
OppHTTP.Text = "¡Se ha iniciado el servicio HTTP! Tipo de software de servicio: Apache 2.1.6"
Terminar si
Si InStr(StrHttp, "Apache/1.3.2") > 0 Entonces
OppHTTP.Text = "¡Se ha iniciado el servicio HTTP! Tipo de software de servicio: Apache 1.3.x"
Terminar si
Si InStr(StrHttp, "Apache/1.3.20") > 0 Entonces
OppHTTP.Text = "¡Se ha iniciado el servicio HTTP! Tipo de software de servicio: Apache 1.3.20"
Terminar si
Si InStr(StrHttp, "Apache/1.3.23") > 0 Entonces
OppHTTP.Text = "¡Se ha iniciado el servicio HTTP! Tipo de software de servicio: Apache 1.3.23"
Terminar si
Si InStr(StrHttp, "Apache/1.3.26") > 0 Entonces
OppHTTP.Text = "¡Se ha iniciado el servicio HTTP! Tipo de software de servicio: Apache 1.3.26"
Terminar si
Si InStr(StrHttp, "Apache/1.3.27") > 0 Entonces
OppHTTP.Text = "¡Se ha iniciado el servicio HTTP! Tipo de software de servicio: Apache 1.3.27"
Terminar si
Si InStr(StrHttp, "Apache/1.3.33") > 0 Entonces
OppHTTP.Text = "¡Se ha iniciado el servicio HTTP! Tipo de software de servicio: Apache 1.3.33"
Terminar si
Si InStr(StrHttp, "Netscape-Enterprise/4.1") > 0 Entonces
OppHTTP.Text = "¡Se ha iniciado el servicio HTTP! Tipo de software de servicio: Netscape-Enterprise 4.1"
Terminar si
Si InStr(StrHttp, "Unix") > 0 Entonces
SystemFW = "Sistema tipo Unix/Linux"
Terminar si
Atrapar
End Try
, algunas variables no están definidas. Puede resolverlo usted mismo.
ZSIP: la IP real analizada