Определение своего внешнего IP-адреса

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Как определить внешний IP-адрес, через который ваш хост выходит в Интернет? Очень просто! – Сейчас полно сервисов, отвечающих на этот вопрос, например можно зайти по ссылке http://2ip.ru, и методом пристального взгляда узреть свой IP крупным планом.

 

 

extip-1 

А как быть безглазому и безмозглому скрипту? – А практически так же! - С помощью компонента ActiveX «Microsoft.XMLHTTP» сформировать HTTP-запрос к той же странице http://2ip.ru, а затем найти искомое в ответе веб-сервера. При поиске зачастую достаточно трюка с сигнатурами, заключающегося в анализе исходного для страницы HTML-кода и определении уникальной последовательности текста до искомых данных и после них. Таким образом, веб-страница представляется в виде:

 

<html>—-прочее—-<Signature-1>ДАННЫЕ<Signature-2>—-прочее—-</html>

 

А далее функция split, преобразующая строки в массив, за 2 вызова вычленит требуемую информацию. При первом вызове разделителем членов массива указывается <Signature-1>:

 

A=split(strHTML,”<Signature-1>”)

 

В результате получается массив из 2 элементов:

 

  1. A(0)= “<html>—-прочее—-“
  2. A(1)= “ДАННЫЕ<Signature-2>—-прочее—-</html>”

Вторым вызовом split преобразует в массив строку A(1), здесь разделителем будет уже <Signature-2>:

 

B=split(A(1),”<Signature-2>”)

 

В результате опять получается массив из 2 элементов, и первый из них (с индексом=0) содержит искомые данные:

 

  1. B(0)= “ДАННЫЕ“
  2. B(1)= “—-прочее—-</html>”

Буквально минуты анализа исходного HTML-кода страницы http://2ip.ru хватает, чтобы найти эти сигнатуры. Это обрамляющие IP-адрес теги <big> и </big>, больше они нигде не встречаются.

extip-2 

 

Итоговый скрипт extip.vbs:

 

on error resume next

 

set xml=createObject(”Microsoft.XMLHTTP”)

xml.open “GET”, “http://2ip.ru”, false

xml.send

 

if (Err.Number=0) then

  WScript.echo trim(split(split(xml.responseText,”<big>”)(1),”</big>”)(0))

else

  Err.clear

end if

 

Есть пара скользких моментов:

 

  • Первый связан со значительным редизайном на веб-сервере - иногда приходится корректировать сигнатуры и скрипт. Некоторое время назад, например, IP-адрес на этой странице обрамлялся другими тегами <font color=”#0033FF”> и </font>
  • Второй имеет отношение к антивирусам. Некоторые из них очень агрессивно относятся к использованию компонента Microsoft.XMLHTTP в скриптах.

Оставьте свой отзыв

*
Введи слово с картинки :)
Anti-Spam Image