Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: "ifconfig" через веб + "Tcpdump" через веб [РЕШЕНО]  (Прочитано 9038 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: ifconfig через веб
« Ответ #15 : 22 Ноября 2010, 12:41:41 »
Попробуй так:
print(system("/sbin/ifconfig | /bin/sed 's/^\([a-z[:punct:]0-9]\+\)\s/<\/td><\/tr><tr><td>\\1<\/td><td>/g; s/$/<br>/'"));

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Re: ifconfig через веб
« Ответ #16 : 22 Ноября 2010, 12:52:39 »
Цитировать
Попробуй так:
Так выводит инфу как и в консоле... Супер!


Спасибо всем большое:D за помощь


Пользователь решил продолжить мысль 22 Ноября 2010, 12:56:36:
В продолжение той же тематики... вот только нечто сложнее, сделать вывод tcpdump'а по какому-нибудь запросу... Или с авто-рефрешом, или с ajax'ом.
Есть ли такие решения (web-tcpdump) ?
« Последнее редактирование: 22 Ноября 2010, 12:56:36 от TrEK »

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: ifconfig через веб [РЕШЕНО]
« Ответ #17 : 22 Ноября 2010, 13:24:45 »
В данном случае лучше wireshark использовать.
Связка связка tcpdump | netcat на сервере и wireshark на клиенте.В howto есть такая тема. Автор Mam(O)n.
А запуск скрипта на сервере можно сделать через вебморду (или ssh).
« Последнее редактирование: 22 Ноября 2010, 13:32:08 от alexander.pronin »

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Re: ifconfig через веб [РЕШЕНО]
« Ответ #18 : 22 Ноября 2010, 16:23:47 »
Ну да, запуск и остановка тспдампа через веб, и вывод результатов в тот же веб...

Пользователь решил продолжить мысль 22 Ноября 2010, 16:32:54:
Возможно можно обойтись без tcpdump , и есть веб-решения, которые отображают скажем коннект активный клиента с миром..?
« Последнее редактирование: 22 Ноября 2010, 16:32:54 от TrEK »

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: ifconfig через веб [РЕШЕНО]
« Ответ #19 : 22 Ноября 2010, 16:47:01 »
Ну да, запуск и остановка тспдампа через веб, и вывод результатов в тот же веб...
Нет, вывод результата в wireshark. Он отлично заточен под это.
Это на сегодняшний день лучший графический сниффер (графическая надстройка над tcpdump).
Он есть в репозитариях.
« Последнее редактирование: 22 Ноября 2010, 16:48:44 от alexander.pronin »

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Re: ifconfig через веб [РЕШЕНО]
« Ответ #20 : 22 Ноября 2010, 16:48:17 »
Wireshark пробовал , но его ведь тоже надо локально запускать на сервере, тот который надо просниферить..

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: ifconfig через веб [РЕШЕНО]
« Ответ #21 : 22 Ноября 2010, 16:57:48 »
Нет, на сервере не надо запускать wireshark, только на клиенте.
Wireshark может работать
- на прослушивание ip:port
- в режиме pipe.
Эти 2 режима отличаются тем, что
- в 1 варианте ничего на сервере пускать не надо
- во 2 варианте надо организовать трубу сокетную.

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Re: ifconfig через веб [РЕШЕНО]
« Ответ #22 : 22 Ноября 2010, 16:59:47 »
Хорошо, но назрел вопрос.. как на клиентской машине тогда вайршарком ловить пакеты, которые проходят через сервер..

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: ifconfig через веб [РЕШЕНО]
« Ответ #23 : 22 Ноября 2010, 17:05:18 »
Через трубу
netcat | wireshark

https://forum.ubuntu.ru/index.php?topic=114596.0

Оффлайн smaharbA

  • Участник
  • *
  • Сообщений: 220
    • Просмотр профиля
Re: ifconfig через веб [РЕШЕНО]
« Ответ #24 : 23 Ноября 2010, 10:16:13 »
простой шеловский скрипт
либо добавить пользователя в судоерс без пароля на выполнение тспдамп, либо поставить разрешения на устройства
На позырить с полчасика тут
http://www.n-d.ru/images/tcpdump.sh
вот тебе и аджакс и никакого пыхыпы
#!/bin/dash

PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin
echo 'Cache-Control: no-cache'
echo 'Content-Type: text/html'
echo

if [ "${QUERY_STRING%%&*}" = "tcpdump" ]; then
    sudo tcpdump -i eth1 -c 20 | sed 's/$/<br \/>/g'
    exit 0
fi

[ -z "$BASH_SOURCE" ] && BASH_SOURCE=`(echo ${BASH_SOURCE:?}) 2>&1 | cut -d: -f1`
SCRIPT_PATH=${BASH_SOURCE%/*}
SCRIPT_PATH=`cd "$SCRIPT_PATH"&& pwd`
SCRIPT_NAME=${BASH_SOURCE##*/}

echo '
<html>
<head>
<meta http-equiv="Content-Language" content="ru" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="Cache-control" content="no-store, no-cache, must-revalidate">
<title>tcpdump</title>
<script type = "text/javascript">
var http;
var timer=0;
if (window.ActiveXObject) {
    try {
        http = new ActiveXObject("Msxml2.XMLHTTP");
        }
    catch (e){
        http = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
else if (window.XMLHttpRequest) {
    http = new XMLHttpRequest();
    }

function show() {
    window.clearTimeout(timer);
    if (!http) return;
    http.open("GET", "'$SCRIPT_NAME'?tcpdump", true);
    http.onreadystatechange = function() {
        if (http.readyState == 4) {
            document.getElementById("data").innerHTML = http.responseText;
            timer=window.setTimeout("show()",500);
            }
        }
    http.send(null);
    }
</script>
</head>
<body onload="javascript: show()">
<div id = "data"></div>
</body>
</html>
' | tidy -asxhtml -utf8 -b -wrap 0
Я конечно далек от мысли...(с)

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Re: ifconfig через веб [РЕШЕНО]
« Ответ #25 : 23 Ноября 2010, 11:07:02 »
smaharbA, да да да !!! Именно это я и хотел !) Подскажите как реализировать?
Так как у меня предлагает сохранить скрипт...

Оффлайн smaharbA

  • Участник
  • *
  • Сообщений: 220
    • Просмотр профиля
Re: ifconfig через веб [РЕШЕНО]
« Ответ #26 : 23 Ноября 2010, 11:12:07 »
в конфигурацию апача или конкретного виртуального хоста добавь

AddHandler cgi-script .sh

и скрипт сохраняй с расширением .sh

либо в файле .htaccess в директории где лежит скрипт прописать так

Options +ExecCGI
AddHandler cgi-script .sh .php .pl
« Последнее редактирование: 23 Ноября 2010, 11:15:41 от smaharbA »
Я конечно далек от мысли...(с)

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Re: ifconfig через веб [РЕШЕНО]
« Ответ #27 : 23 Ноября 2010, 11:15:37 »
в конфигурацию апача или конкретного виртуального хоста добавь

AddHandler cgi-script .sh

и скрипт сохраняй с расширением .sh


Скрипт с расширением *.sh

root@gate:/etc/apache2# sudo /etc/init.d/apache2 restart
 * Restarting web server apache2                                                                                 
Syntax error on line 1 of /etc/apache2/apache2.conf:
AddHandler requires at least two arguments, a handler name followed by one or more file extensions
                                                                                                           [fail]


Пользователь решил продолжить мысль 23 Ноября 2010, 11:16:58:
Или между "cgi-script" и ".sh" должен быть пробел?

Оффлайн smaharbA

  • Участник
  • *
  • Сообщений: 220
    • Просмотр профиля
Re: ifconfig через веб [РЕШЕНО]
« Ответ #28 : 23 Ноября 2010, 11:17:58 »
найди просто строчку
AddHandler cgi-script ...

она уже есть похоже, и в конец ее добавь .sh через пробел
строка в конфиге такая должна быть одна

да везде пробелы должны быть

+ не забывайте только о правах на устройства(интерфейсы) или в
/etc/sudoers

добавить типа

www-data ALL=(ALL) NOPASSWD: /usr/sbin/tcpdump


где www-data - это пользователь от которого апач запущен
« Последнее редактирование: 23 Ноября 2010, 11:20:48 от smaharbA »
Я конечно далек от мысли...(с)

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Re: ifconfig через веб [РЕШЕНО]
« Ответ #29 : 23 Ноября 2010, 11:28:09 »
У меня есть :
-rw-r--r-- 1 root root    26 2010-11-23 10:18 httpd.conf (пустой файл)
-rw-r--r-- 1 root root  8140 2010-11-23 10:19 apache2.conf:
(Нажмите, чтобы показать/скрыть)




Я добавил в /etc/apache2/sites-available/default:
(Нажмите, чтобы показать/скрыть)

И щас браузер мне предлагает сохранить скрипт, если добавляю в apache2.conf или httpd.conf строку... - тогда браузер выдает:

Forbidden

You don't have permission to access /conn/tcpdump.sh on this server.



Сам скрипт:
-rw-r--r-- 1 root root 1579 2010-11-23 10:04 tcpdump.sh


Пользователь решил продолжить мысль 23 Ноября 2010, 11:35:49:
В /etc/sudoers добавил строку:

(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 23 Ноября 2010, 12:00:00 от TrEK »

 

Страница сгенерирована за 0.021 секунд. Запросов: 21.