вторник, 19 августа 2014 г.

CentOS 7: ставим ngrep

Есть неплохой снифер ngrep, иногда удобнее tcpdump-а, но в 7 версии его нет в epel, да и вообще на просторах интернета. Благо, собирается он несложно.

ngrep is grep command that works on realtime network data.

ngrep strives to provide most of GNU grep's common features, applying them to the network layer. ngrep is a pcap-aware tool that will allow you to specify extended regular or hexadecimal expressions to match against data payloads of packets. It currently recognizes TCP, UDP and ICMP across Ethernet, PPP, SLIP, FDDI, Token Ring and null interfaces, and understands bpf filter logic in the same fashion as more common packet sniffing tools, such as tcpdump and snoop.

Наш пример для отладки SIP:
ngrep -d any '000\*000' proto udp -q -W byline

Лучше сделать выделенную машину под сборку, чтобы не забивать рабочие машины компиляторами, лишними библиотеками итд.
# yum groupinstall -y "development tools"
поставится под 80 пакетов, процесс небыстрый

$ rpm -ivh http://pkgs.repoforge.org/ngrep/ngrep-1.45-2.rf.src.rpm

в домашнем каталоге появится rpmbuild, там желательно поправить SPECS/ngrep.spec на тему centos 7, и теперь собираем пакет
$ rpmbuild -ba SPECS/ngrep.spec

Итоговый пакет будет в rpmbuild/RPMS/x86_64/ngrep-1.45-2.el7.centos.x86_64.rpm
Перекидываем его на другие машины, ставим
(1/3): libpcap-devel-1.5.3-3.el7.x86_64.rpm
(2/3): pcre-devel-8.32-12.el7.x86_64.rpm
(3/3): libpcap-1.5.3-3.el7.x86_64.rpm
и наслаждаемся. Хотя про tcpdump и wireshark тоже не забываем.

1 комментарий:

  1. Мне проще так:

    $ yum-builddep NAME.src.rpm

    $ rpmbuild --rebuild NAME.src.rpm

    yum-builddep можно натравливать и на .spec, коли пришлось раздраконивать src.rpm на части

    ОтветитьУдалить