Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Получение внешнего IP и отправка его на Email

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2

Открыть новую тему     Написать ответ в эту тему

rets2

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте господа.
Вот столкнулся с такой проблемой, определение внешнего IP на удаленом компьютере с динамическим IP и отправкой  IP на Email. Можна ли ето сделать с помощью батника или скрипта? Чтоби IP высылался с некоторым интервалом времени?
Спасибо за помощь.

Всего записей: 539 | Зарегистр. 25-01-2005 | Отправлено: 19:14 15-10-2009
JcVai



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Легко. Смотри в сторону консольной команды ipconfig и консольного мейлера, например Blat
Потом пишется батник, в котором первая команда - вывод ответа ipconfig в файл, а вторая - отправка этого файла мылом. После файлик забивается в шедуллер... или, например, в скрипт, запускаемый после установки соединения с провайдером.

----------
What out of that we have not win
What out of that we've not return

Всего записей: 661 | Зарегистр. 27-10-2002 | Отправлено: 20:22 15-10-2009
rets2

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
JcVai
Спасибо а , можно по подробней, если нетрудно.

Всего записей: 539 | Зарегистр. 25-01-2005 | Отправлено: 20:30 15-10-2009
JcVai



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Что то типа этого при помощи postie

Код:
 
@echo off
rem === Начало файла sendip.cmd ===
ipconfig /all > c:\scripts\mycurrentip.txt
cd c:\scripts
c:
postie.exe -host:my.mail.server -to:me@my.mail -from:mypc@local.host -s:MyIP -file:mycurrentip.txt  
del /q c:\scripts\mycurrentip.txt
exit
 


----------
What out of that we have not win
What out of that we've not return

Всего записей: 661 | Зарегистр. 27-10-2002 | Отправлено: 20:51 15-10-2009
adjuster



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dyndns. Достаточно знать только имя, а IP можно будет узнать пинганув.

Всего записей: 1369 | Зарегистр. 31-10-2006 | Отправлено: 21:54 15-10-2009
rets2

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
JcVai ? adjuster
 
Спасибо товарищи.
 
 
вот подправил батник JcVai
 
@echo off  
rem === Начало файла sendip.cmd ===  
ipconfig /all > c:\scripts\mycurrentip.txt  
cd c:\scripts  
c:  
postie.exe -host:mail.ru -smtp_host:smtp.mail.ru -smtp_port:2525 -user:*** -pass:**** -to:***** -from:***  -s:MyIP -file:mycurrentip.txt  
del /q c:\scripts\mycurrentip.txt  
 
батник вроде работает но, файл не шлет
 
Подправте пожалуйста.

Всего записей: 539 | Зарегистр. 25-01-2005 | Отправлено: 22:09 15-10-2009
mcmare

Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
батник вроде работает но, файл не шлет

тоже некогда столкнулся с такой проблемой, понял что blat не отправляет почему то на mail.ru Пришлось зарегистрироваться на gmail.com и все заработало.

Всего записей: 1 | Зарегистр. 25-01-2009 | Отправлено: 07:26 16-10-2009
rets2

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо всем разобрался
 
Сделал батник на базе Blat.
 
@echo off
rem === SEND IP===
ipconfig /all > c:\Temp\ip.info_file
cd c:\Temp
c:
blat.exe ip.info_file -to ****@****.** -subject "ip"
del /q ip.info_file
exit
 
нюанс в том, что пришлось добавить параметр "From" в реестр руками.
Blat -istall  - незахотел его прописать.

Всего записей: 539 | Зарегистр. 25-01-2005 | Отправлено: 08:35 16-10-2009 | Исправлено: rets2, 08:39 16-10-2009
Dunkeshu

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Hi!

Цитата:
Здравствуйте господа.  
 Вот столкнулся с такой проблемой, определение внешнего IP на удаленом компьютере с динамическим IP и отправкой  IP на Email. Можна ли ето сделать с помощью батника или скрипта? Чтоби IP высылался с некоторым интервалом времени?  
 Спасибо за помощь.
Ну и как же это всё понимать? Это всё, больше подходит для решения вопроса по пересылке файлов на почту, а не определение внешнего динамического интернет IP - адреса, с последующей пересылкой его на соответствующий электронный адрес! Может кто-то конкретно ответит на данный сабж?

Всего записей: 621 | Зарегистр. 25-01-2010 | Отправлено: 19:15 30-10-2012
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dunkeshu  Чем не нравится решение, которое предложил rets2?
А если имеется в виду определение внешнего айпи, когда комп находится за НАТом - тогда
подход несколько другой.
Можно, к примеру, выполнить команду
wget http://checkip.dyndns.org (установив предварительно программу wget для Виндовс),
и отправить на почту содержимое полученного файла index.html батником посоветованым rets2, с минимальными изменениями.
Оно будет примерно такое:

Код:
<html><head><title>Current IP Check</title></head>
<body>Current IP Address: 79.139.24.25</body></html>
 

Кстати, если комп не за НАТ, а имеет белый динамический айпи, метод тоже сработает.
index.html после отправки удалить, иначе при следующей работе скрипта получим index.html.1,
index.html.2 и так далее.

----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17287 | Зарегистр. 13-06-2007 | Отправлено: 23:17 30-10-2012 | Исправлено: vlary, 23:46 30-10-2012
Dunkeshu

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Hi!
vlary Благодарю за оперативный ответ.

Цитата:
Чем не нравится решение, которое предложил rets2?
Тем, что ipconfig выдаёт лишнюю избыточную информацию относительно локальных IP-адресов. За роутером ipconfig не видит внешние IP.

Цитата:
Можно, к примеру, выполнить команду  
wget http://checkip.dyndns.org (установив предварительно программу wget для Виндовс),  
 и отправить на почту содержимое полученного файла index.html батником посоветованым rets2, с минимальными изменениями.  
 Оно будет примерно такое:  
 
Код: <html><head><title>Current IP Check</title></head>  
 <body>Current IP Address: 79.139.24.25</body></html>  
   
 Кстати, если комп не за НАТ, а имеет белый динамический айпи, метод тоже сработает.  
 index.html после отправки удалить, иначе при следующей работе скрипта получим index.html.1,  
 index.html.2 и так далее.
Ну, а сами Вы, к примеру,  пробовали предложенный метод?
Это, что получается: - "Автоматом получить и отправить IP, никак нельзя?" То есть, надо ручками всё исправлять?
А как всё сделать автоматом? Ну как в сабже или даже лучше! Или такое не выполнимо?
 

Всего записей: 621 | Зарегистр. 25-01-2010 | Отправлено: 02:02 31-10-2012
Dinxor

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dunkeshu

Цитата:
А как всё сделать автоматом? Ну как в сабже или даже лучше! Или такое не выполнимо?

 
А в чем проблемма? Написать батник запускающий wget а затем blat, повесить запуск этого батника на периодический запуск в планировщике. wget скачивает файл index.html, затем blat отправляет этот файл по почте.
 
Если у компьютера белый IP, лучше всего применить ipconfig | find "IP-" > ip_file.txt (так убирается лишняя информация)
 
Если компьютер за роутером и к роутеру есть доступ, можно добыть адрес из него с помощью скрипта по telnet. Подобную задачу я решал 5 лет назад, подключался к ADSL модему с помощью консольного telnet клиента tse.exe _http://home.onego.ru/~loft/_tse.exe и заливал полученный файл с IP на FTP сервер. Примерно так:
 
tse.exe < Router_IP.ini | find "P-t-P" > ip_file.txt
curl.exe -m 20 -u user:pass -T ip_file.txt ftp://ftpsite/
 
недостаток метода - в файле Router_IP.ini надо прописывать пароль к роутеру.
 
Вопрос в другом - зачем тебе IP адрес компьютера в почте? Я городил весь этот огород для возможности бесплатного обмена файлами внутри сетки с динамическими адресами, сейчас это уже неактуально. В интернете проще использовать _http://dyn.com/dns/

----------
Знание некоторых принципов легко возмещает незнание некоторых фактов

Всего записей: 406 | Зарегистр. 17-09-2003 | Отправлено: 12:42 31-10-2012 | Исправлено: Dinxor, 12:46 31-10-2012
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dunkeshu
Цитата:
Ну, а сами Вы, к примеру,  пробовали предложенный метод?
Я никогда не советую то. что сам не проверил. Содержимое файла index.html, что я поместил, было получено именно с помощью wget http://checkip.dyndns.org  

Цитата:
А как всё сделать автоматом? Ну как в сабже или даже лучше! Или такое не выполнимо?  
Все выполнимо. При определенных умениях и навыках. Я бы, например, если бы это мне было нужно, скомпилил простенькую программу на C#

Код:
using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.IO;
using System.Net.Mail;
 
namespace GetMyIP
{
    class Program
    {
        static void Main(string[] args)
        {
        WebResponse webResponse = null;
        StreamReader stream = null;
        String result = null;  
        Uri targetUri = new Uri("http://checkip.dyndns.org");        
        WebRequest webRequest = (HttpWebRequest) HttpWebRequest.Create(targetUri);
 
       String from = "me@mydomain.ru";
       String to = "me@mydomain.ru";
 
 
        webRequest.Proxy = null;
        try {
        webResponse = webRequest.GetResponse();
        stream = new System.IO.StreamReader(webResponse.GetResponseStream());
        result = stream.ReadToEnd();
        //Console.WriteLine(result);
        SmtpClient client = new SmtpClient("mail.mydomain.ru");
        MailMessage message = new MailMessage(from, to, "Current IP Address", result);
        message.IsBodyHtml = true;
        client.Timeout = 100000;
        client.Send(message);
        }
            catch (Exception ex)
        {
          Console.WriteLine(ex.Message);        
        }
 //         Console.Read();        
 
        }
    }
}
 

Возможное улучшение - запустить программу в цикле, каждые 10 минут делать запрос, проверять айпи, сравнивать с предыдущим, и только при его изменении отправлять почту.

----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17287 | Зарегистр. 13-06-2007 | Отправлено: 16:30 31-10-2012
Dunkeshu

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Hi!
Dinxor
Цитата:
Вопрос в другом - зачем тебе IP адрес компьютера в почте? Я городил весь этот огород для возможности бесплатного обмена файлами внутри сетки с динамическими адресами, сейчас это уже неактуально. В интернете проще использовать _http://dyn.com/dns/
Это отдельная тема, Для того огорода, можно применить, например NeoRouter со всеми вытекающими .... и, знание IP, как бы не является чем-то особенным, так как всё практически автоматом, после соответствующей настройки!
 
vlary
Цитата:
Все выполнимо. При определенных умениях и навыках. Я бы, например, если бы это мне было нужно, скомпилил простенькую программу на C#  
 
Код: using System;  
 using System.Collections.Generic;  
 using System.Text;  
 using System.Net;  
 using System.IO;  
 using System.Net.Mail;  
   
 namespace GetMyIP  
 {  
     class Program  
     {  
         static void Main(string[] args)  
         {  
         WebResponse webResponse = null;  
         StreamReader stream = null;  
         String result = null;  
         Uri targetUri = new Uri("http://checkip.dyndns.org");          
         WebRequest webRequest = (HttpWebRequest) HttpWebRequest.Create(targetUri);  
   
        String from = "me@mydomain.ru";  
        String to = "me@mydomain.ru";  
   
   
         webRequest.Proxy = null;  
         try {  
         webResponse = webRequest.GetResponse();  
         stream = new System.IO.StreamReader(webResponse.GetResponseStream());  
         result = stream.ReadToEnd();  
         //Console.WriteLine(result);  
         SmtpClient client = new SmtpClient("mail.mydomain.ru");  
         MailMessage message = new MailMessage(from, to, "Current IP Address", result);  
         message.IsBodyHtml = true;  
         client.Timeout = 100000;  
         client.Send(message);  
         }  
             catch (Exception ex)  
         {  
           Console.WriteLine(ex.Message);        
         }  
  //         Console.Read();          
   
         }  
     }  
 }  
   
 
 
 Возможное улучшение - запустить программу в цикле, каждые 10 минут делать запрос, проверять айпи, сравнивать с предыдущим, и только при его изменении отправлять почту.
Ну, а что делать не программисту, то есть человеку, который далёк от всех этих циклов и т.д. и т.п.? Видимо ответ на данный вопрос очевиден! Можно конечно применить, например DIP builder, который позволяет сделать всё автоматом, но для меня лично это SPY, так что один из выходов - спрашивать у Знающих людей! Кто в дверь стучится, тому дверь откроют .... Казнить нельзя, помиловать!

Всего записей: 621 | Зарегистр. 25-01-2010 | Отправлено: 03:36 01-11-2012
Dunkeshu

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Все выполнимо. При определенных умениях и навыках. Я бы, например, если бы это мне было нужно, скомпилил простенькую программу на C#
Нащёл программу,  которая уже скомпиллирована и в принципе удовлетворяет необходимым требованиям http://forum.ru-board.com/topic.cgi?forum=35&topic=17197&start=60
Правда, не совсем полностью её протестировал, по вопросам безопасности, так как сейчас занят поиском ответа на такой вопрос: - "Какую можно использовать программу, которая могла бы работать с эл. почтой, из ком. строки, для получения вложения с IP адресом, желательно с поддержкой SSL ?"
 
P.S. Естественно, если кто-то найдёт возможность ответить, то монстров электронной почты, а тем более их платные варианты, которые могут работать из ком. строки, а также коды для их компилляции, желательно не приводить!

Всего записей: 621 | Зарегистр. 25-01-2010 | Отправлено: 18:20 07-11-2012 | Исправлено: Dunkeshu, 19:12 07-11-2012
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dunkeshu
Цитата:
для получения вложения с IP адресом, желательно с поддержкой SSL ?
Для получения или отправки? Если второе, то в этой теме есть пример почти готового простенького батничега на VbScript, который все это делает (отправку файла нужно будет раскомментировать),  и который совершенно не надо компилировать.  
 


----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17287 | Зарегистр. 13-06-2007 | Отправлено: 19:30 07-11-2012
Dunkeshu

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Hi!
vlary
Цитата:
Для получения или отправки? Если второе, то в этой теме есть пример почти готового простенького батничега на VbScript, который все это делает (отправку файла нужно будет раскомментировать),  и который совершенно не надо компилировать.  
Для получения! Но и эта информация не лишняя. А вот компилировать некоторые умудряются: - "Всё, что шевелится!"

Всего записей: 621 | Зарегистр. 25-01-2010 | Отправлено: 04:17 08-11-2012
kotte



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А может рассмотрите установку маленькой софтинки которая сама все это будет делать
При условии физического доступа к машинке.  
www.no-ip.кom - я этим пользуюсь достаточно успешно!

Всего записей: 41 | Зарегистр. 28-04-2007 | Отправлено: 11:56 09-11-2012 | Исправлено: kotte, 11:58 09-11-2012
Dunkeshu

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Hi!
kotte
Цитата:
А может рассмотрите установку маленькой софтинки которая сама все это будет делать  
 При условии физического доступа к машинке.  
www.no-ip.кom - я этим пользуюсь достаточно успешно!
Благодарю за желание помочь, но постоянный ресурс для контроля динамического IP не нужен, ну и клиент, с распространением рекламы, тем более не желателен, а платные варианты не хочется использовать. Зачем мне всё это надо?
Цитата:
Это отдельная тема, Для того огорода, можно применить, например NeoRouter со всеми вытекающими .... и, знание IP, как бы не является чем-то особенным, так как всё практически автоматом, после соответствующей настройки!
Но вполне возможно, что Ваш совет будет кому-то полезен в данной теме.
 
 

Всего записей: 621 | Зарегистр. 25-01-2010 | Отправлено: 19:39 09-11-2012 | Исправлено: Dunkeshu, 21:01 09-11-2012
Clan_F6



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет всем. Воскрешу старую тему. Чет не могу заставить blat отправлять с smtp.mail.ru смтп сервера юзаю TLS 465 порт, но отправка не идет использую сл. строки для отправки:
Установил сервер и порт  
D:\1>blat.exe -install smtp.mail.ru sender@mail.ru 0 465 -u sender@mail.ru -pw pass
 
Blat v3.2.15 (build : Jun 26 2016 21:36:42)
64-bit Windows, Full, Unicode
SMTP server set to smtp.mail.ru on port 465 with user sender@mail.ru, retry 1 time(s)
 
Делаю отправку
D:\1>blat.exe -to receive@mail.ru -attach ip.txt
 
Получаю ругательство:
Blat v3.2.15 (build : Jun 26 2016 21:36:42)
64-bit Windows, Full, Unicode
 
Error: Wait a bit (possible timeout).
*** Error ***  SMTP server error
Error: Not a socket.
Error: Not a socket.
 
sender и receive вымышленные имена почты, для примера на форуме. если blat.exe не умеет работать с шифрованным соединением, то может кто подскажет, с помощью какого инструмента можно из командной строки отправлять файлы с smtp.mail.ru, который уже давно 25 порт не использует.
Спасибо за помощь.

Всего записей: 138 | Зарегистр. 03-08-2005 | Отправлено: 12:49 27-06-2016
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Получение внешнего IP и отправка его на Email


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru