Re: Узнать белый IP
On Fri, Mar 13, 2009 at 03:47:51PM +0300, Mironov Pavel wrote:
> On Fri, Mar 13, 2009 at 11:12:34AM +0300, DamirX wrote:
> > Hi, All!
> > Вопрос немного глуповатый.
> > Как на машине за натом узнать белый адрес. Что-нибудь экстремально
> > простое, чтоб не парсить http://2ip.ru/ Консольное.
> >
> > --
> > DamirX
>
> Пишешь
> elinks https://check.torproject.org/?lang=ru
> и вот твой ip
>
Да, что-то "очень умное" я написал. Что значит тяпцица :)
Вот пара вариантов. Кто сделает короче?
--
С уважением,
П.Миронов
1 #!/usr/bin/perl -w
2 #
3 #
4 use strict;
5 use warnings;
6
7 my $url = "https://check.torproject.org/?lang=ru";
8 my $url2 = "http://myip.ru";
9 my $reg_ip = '((\d{1,2}|1\d{2}|2[0-4]\d|25[0-5])\.){3}(\d{1,2}|1\d{2}|2[0-4]\d{1}|25[0-5])';
10
11 ### в данном случае достаточно этого варианта
12 #
13 my @fc = `curl -s $url`;
14 for (@fc) {
15 if (/($reg_ip)\D+?/) {
16 print $1 , "\n";
17 }
18 }
19
20 print "------------------\n";
21
22 ### второй вариант достает все ip из файла
23 #
24 my @fc2 = "92.76.190.222 cc vvv nn 92.76.190.235 fghdu 92.76.190.236";
25 # my @fc2 = `curl -s $url2`;
26 my @list_ip;
27 for (@fc2) {
28 while (/.*?($reg_ip)(\D|$)+?/g) {
29 @list_ip = (@list_ip, $1);
30 }
31 }
32
33 print "$_\n" for @list_ip;
34
Reply to: