IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Пингвинятник (ОС *NIX) (http://www.imho.ws/forumdisplay.php?f=76)
-   -   Как забрать данные из telnet сессии? (http://www.imho.ws/showthread.php?t=143783)

Shkurik 26.05.2010 14:47

Как забрать данные из telnet сессии?
 
Привет!

Подскажите пожалуйста, как можно "забирать" (перенаправление, конвеер) данные поступаемые в telnet сессию?

Для чего нужно - забирать данные с АТС и писать в базу. АТС - Самсунг.
Вариант "telnet 192.168.0.100 5100 > SamsungLog &" пишет в файл только
Trying 192.168.0.100...
Connected to 192.168.0.100.
Escape character is '^]'.

Спасибо!

BorLase 26.05.2010 15:37

Вложений: 1
используй PuTTY; или тебе надо из *NIX <-> *NIX сессии данные брать?

Merlin Cori 26.05.2010 15:52

Shkurik, а протокол ftp для кого создан? :idontnow:

Plague 26.05.2010 15:57

Merlin Cori, причем тут FTP вообще?

BorLase 26.05.2010 15:57

Цитата:

Сообщение от Merlin Cori (Сообщение 1710479)
Shkurik, а протокол ftp для кого создан? :idontnow:

далеко не факт, что он есть на АТС

Plague 26.05.2010 16:03

народ, либо я чего не понимаю, либо вас куда то вообще не в ту степь понесло.
сказано же
Цитата:

перенаправление, конвеер
причем тут фтп-то?
что-то с чем-то общается по телнету. не КТО-ТО. лог этого общения нужно отправить в файл.

Merlin Cori 26.05.2010 16:08

Plague,
- стандартный телнет не умеет сохранять логи сеанса
- если это дело надо автоматизировать, то логи тож не катят

BorLase 26.05.2010 16:18

Цитата:

Сообщение от Merlin Cori (Сообщение 1710484)
- стандартный телнет не умеет сохранять логи сеанса

стандартный телнет много чего не умеет - но на нем ведь свет клином не сошелся, PuTTY, как видишь, умеет
Цитата:

- если это дело надо автоматизировать, то логи тож не катят
с такой постановкой задачи (брать данные из сессии и писать в базу) - вряд ли что-то подойдет из готового - уж слишком специализированная задача

а вот брать готовый файл, как-то парсить его и писать в БД - уже можно поизвращаться...

Shkurik 26.05.2010 16:21

Ого!
Такое общение...

Данные поступаемые в телнет сессию (подключена к АТС Samsung OS7400) нужно действительно отправить... точнее как-то обработать...
Либо в файл, либо еще лучше парсеру.
Разбирать и писать сразу в MySQL.
Такова идея. Причем на предидущем месте работы так и сделалось (только АТС была Samsung IDC500). Но давно. И забылось.

Есть конечно ПО для SMDR только для Виндоус. Но в моем случае нужно под линуксами...

Спасибо!

Hubbitus 26.05.2010 16:22

Цитата:

Сообщение от Shkurik (Сообщение 1710468)
Вариант "telnet 192.168.0.100 5100 > SamsungLog &" пишет в файл только

А если банально
Код:

telnet 192.168.0.100 5100 | your_script
?
Не подойдет разве?

BorLase 26.05.2010 16:27

Цитата:

Сообщение от Hubbitus (Сообщение 1710488)
А если банально
Код:

telnet 192.168.0.100 5100 | your_script
?
Не подойдет разве?

думаю, ты получишь все то же
Цитата:

Trying 192.168.0.100...
Connected to 192.168.0.100.
Escape character is '^]'.
Shkurik, из линукс-консоли - man script
а дальше уже полученные данные придется парсить и вгонять в БД, увы

Borland 26.05.2010 16:37

http://www.geckotribe.com/php-telnet/
Телнет-сессия в скрипте.
Дальше - парсите как угодно и пишите куда угодно тем же скриптом.
Платформонезависимо, насколь я понимаю - ибо PHP есть практически под все более-современные ОС. :gigi:
С мускулем PHP работать тоже умеет (ибо иначе мы бы сейчас если и общались - то не на этом форуме)...:gigi:

BorLase 26.05.2010 16:44

Цитата:

Сообщение от Borland (Сообщение 1710490)
Телнет-сессия в скрипте.

а она по таймауту через 30 сек не отвалится?

да и ПХП сюда прикручивать... не знаю - я лично лучше бы повозился и на баше все сделал.

Shkurik 26.05.2010 18:26

2 BorLase - премного зенкс!
script рулит....

а пхп прикручен на этом сервере...

дальше проще.

Благодарю всех!

Hubbitus 30.05.2010 18:53

Ну чтобы законнектиться expect'а вполне достаточно, а дальше все также на скрипт. Хоть на том же php.

Shkurik 14.06.2010 14:43

Может кому пригодится?

#!/usr/bin/php
<?php
$fp = fsockopen("192.168.0.100", 5100, $errno, $errstr);
$log = fopen('/var/log/samsung/samsung.log', 'a');
if (!$fp) {
echo "ERROR: $errno - $errstr<br />\n";
fwrite ($log, $errno);
} else {
while (!feof($fp))
{
fwrite ($log, fgets($fp, 1024));
}
fwrite ($log, '\r\n End of ATS log.\r\n');
fclose($fp);
}

Можно автозагружать, можно кроном...

В планах:
- парсинг и запись в таблицу MySQL;
- веб-интерфейс - статистика;


Часовой пояс GMT +4, время: 20:17.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.