Охоту на ASP.Net в наши дни можно считать моим знакомством. Идея очень проста, основная цель — идентифицировать баннер, возвращаемый удаленным хостом, и определить удаленный хост-сервер. Это может быть неточно, поскольку квалифицированные администраторы могут изменить баннер.
Код следующий (найден в результате поиска в Интернете с использованием VB.Net):
Dim swWriter As StreamWriter
'Используется для передачи данных в поток данных сетевой инфраструктуры
Уменьшить nsStream как NetworkStream
'Создание сетевого потока данных для отправки данных
Dim tcpClient2 как TcpClient
'Через него к удаленному хосту делается запрос TCP-соединения
Уменьшить имя sHostName как строку
Dim srRead как StreamReader
'Чтение данных из потока данных сетевой инфраструктуры
'Поиск службы HTTP
Если TcpConnect(ZSIP, 80) = «CG» Тогда
OppHTTP.Text = «Служба HTTP запущена! Тип служебного программного обеспечения: неизвестен»
Пытаться
'tcpClient = Новый TcpClient (IP-адрес, порт)
tcpClient2 = Новый TcpClient(ZSIP.ToString(), 80)
tcpClient2.ReceiveTimeout = 1000000
tcpClient2.SendTimeout = 1000000
'Сделаем запрос TCP-соединения для порта 8000 удаленного хоста
nsStream = tcpClient2.GetStream()
'Применить и получить основной сетевой поток данных для передачи данных
swWriter = Новый StreamWriter(nsStream)
swWriter.WriteLine("Получить /index.htm HTTP/1.1")
swWriter.WriteLine("Хост:" и IP.Text)
swWriter.WriteLine("Принять:*/*")
swWriter.WriteLine("Referer:")
swWriter.WriteLine()
'Обновляем данные в текущем потоке данных
swWriter.Flush()
srRead = Новый StreamReader(nsStream, Encoding.Default)
'Инициализируем экземпляр StreamReader полученным базовым потоком сетевых данных
Тусклый L как целое число = 0
Делайте, пока не srRead.Peek = -1 и L < 20
StrHttp = StrHttp & srRead.ReadLine()
Л = Л + 1
Петля
Если InStr(StrHttp, "IIS") > 0 Тогда
OppHTTP.Text = «Служба HTTP запущена! Тип служебного программного обеспечения: версия IIS неизвестна»
SystemFW = "WindowsNT/2000/XP/2003"
Конец, если
Если InStr(StrHttp, «Apache») > 0 Тогда
OppHTTP.Text = «Служба HTTP запущена! Тип служебного программного обеспечения: версия Apache неизвестна»
Конец, если
Если InStr(StrHttp, «Netscape-Enterprise») > 0 Тогда
OppHTTP.Text = «Служба HTTP запущена! Тип служебного программного обеспечения: версия Netscape-Enterprise неизвестна»
Конец, если
Если InStr(StrHttp, «Microsoft-IIS/5.0») > 0 Тогда
OppHTTP.Text = «Служба HTTP запущена! Тип служебного программного обеспечения: IIS 5.0»
СистемаFW = "Windows2000"
Конец, если
Если InStr(StrHttp, «Microsoft-IIS/5.1») > 0 Тогда
OppHTTP.Text = «Служба HTTP запущена! Тип служебного программного обеспечения: IIS 5.1»
SystemFW = "Windows2000/XP"
Конец, если
Если InStr(StrHttp, «Microsoft-IIS/6.0») > 0 Тогда
OppHTTP.Text = «Служба HTTP запущена! Тип служебного программного обеспечения: IIS 6.0»
СистемаFW = "Windows2003"
Конец, если
Если InStr(StrHttp, «Apache/2») > 0 Тогда
OppHTTP.Text = «Служба HTTP запущена! Тип служебного программного обеспечения: Apache 2.x»
Конец, если
Если InStr(StrHttp, «Apache/2.0.54») > 0 Тогда
OppHTTP.Text = «Служба HTTP запущена! Тип служебного программного обеспечения: Apache 2.0.54»
Конец, если
Если InStr(StrHttp, "Apache/2.0.52") > 0 Тогда
OppHTTP.Text = «Служба HTTP запущена! Тип служебного программного обеспечения: Apache 2.0.52»
Конец, если
Если InStr(StrHttp, «Apache/2.1.6») > 0 Тогда
OppHTTP.Text = «Служба HTTP запущена! Тип служебного программного обеспечения: Apache 2.1.6»
Конец, если
Если InStr(StrHttp, «Apache/1.3.2») > 0 Тогда
OppHTTP.Text = «Служба HTTP запущена! Тип служебного программного обеспечения: Apache 1.3.x»
Конец, если
Если InStr(StrHttp, «Apache/1.3.20») > 0 Тогда
OppHTTP.Text = «Служба HTTP запущена! Тип служебного программного обеспечения: Apache 1.3.20»
Конец, если
Если InStr(StrHttp, "Apache/1.3.23") > 0 Тогда
OppHTTP.Text = «Служба HTTP запущена! Тип служебного программного обеспечения: Apache 1.3.23»
Конец, если
Если InStr(StrHttp, "Apache/1.3.26") > 0 Тогда
OppHTTP.Text = «Служба HTTP запущена! Тип служебного программного обеспечения: Apache 1.3.26»
Конец, если
Если InStr(StrHttp, "Apache/1.3.27") > 0 Тогда
OppHTTP.Text = «Служба HTTP запущена! Тип служебного программного обеспечения: Apache 1.3.27»
Конец, если
Если InStr(StrHttp, "Apache/1.3.33") > 0 Тогда
OppHTTP.Text = «Служба HTTP запущена! Тип служебного программного обеспечения: Apache 1.3.33»
Конец, если
Если InStr(StrHttp, "Netscape-Enterprise/4.1") > 0 Тогда
OppHTTP.Text = «Служба HTTP запущена! Тип служебного программного обеспечения: Netscape-Enterprise 4.1»
Конец, если
Если InStr(StrHttp, "Unix") > 0 Тогда
SystemFW = "Unix/Linux-подобная система"
Конец, если
Ловить
End Try
извлечен, некоторые переменные не определены. Вы можете разобраться сами.
ZSIP: проанализирован реальный IP