среда, 3 августа 2011 г.

grep по сетевым пакетам

Тем, кто знает , зачем может понадобиться сниффать сетевые пакеты, анализировать их содержимое хочу посоветовать GNU-утилиту ngrep, которая позволяет с легкостью проводить в реальном (!) времени grep по содержимому сетевых пакетов.
Утилита есть в репозиториях практически всех linux-дистрибутивов.
Подробно о ее возможностях можно узнать в ее man-е , а также на странице проекта.

Пример: "Поиск в HTTP-пакетах дефолтного интерфейса по строке 'login' "

sudo ngrep 'login' -W byline  port 80

Результат:


 T 10.33.4.105:46837 -> 10.33.4.106:80 [AP]
GET /cgi-bin/clients/STUB?login=type%20login%20here&psw=ecaae631e3e96de095a45d015c3b4e99&phones=74953222233&mes=messagetext.&charset=utf-8 HTTP/1.1.
TE: deflate,gzip;q=0.3.
Connection: TE, close.
Host: some.host.name.
User-Agent: libwww-perl/5.837.
.

##
T 10.33.4.106:80 -> 10.33.4.105:46837 [AP]
HTTP/1.1 200 OK.
Date: Wed, 03 Aug 2011 11:39:43 GMT.
Server: Apache/2.2.3 (CentOS).
Connection: close.
Transfer-Encoding: chunked.
Content-Type: text/html; charset=ISO-8859-1.
.
54.
$VAR1 = 'login';
$VAR2 = 'psw';
$VAR3 = 'phones';
$VAR4 = 'mes';
$VAR5 = 'charset';

Комментариев нет:

Отправить комментарий