Журнал LinuxFormat - перейти на главную

LXF141:IPTState

Материал из Linuxformat
Перейти к: навигация, поиск

Содержание

IPTState

IPTState зна­ет, кто к вам под­клю­чил­ся, и от­ку­да, и ка­кой объ­ем дан­ных шлет. Бен Мар­тин по­мо­жет ра­зо­брать­ся, ку­да де­ва­лась ва­ша по­ло­са про­пус­ка­ния.

Вы­яс­нить, кто спа­лил ва­ши дра­го­цен­ные цик­лы CPU, все­гда мож­но ко­ман­дой top. А вот IPTState под­ска­жет, ку­да ухо­дит боль­шин­ст­во ва­ших се­те­вых па­ке­тов, и вы пой­ме­те, кто сжи­ра­ет ва­шу по­ло­су про­пус­ка­ния.

Ко­ман­да ipstate ис­поль­зу­ет ин­тер­фейс от­сле­жи­ва­ния со­еди­не­ний (libnetfilter_conntrack) в яд­ре Linux, что­бы по­лу­чить де­таль­ную ин­фор­ма­цию о се­те­вых па­ке­тах, про­хо­дя­щих че­рез ва­шу сис­те­му. На ма­ши­не Fedora 13 для вас за­ра­нее упа­ко­ва­ны и биб­лио­те­ка conntrack, и IPTstate, так что вы мо­же­те на­чать с ко­ман­ды

yum install iptstate

В осно­ве сво­ей, IPTState – кон­соль­ная про­грам­ма, вы­во­дя­щая про­кру­чи­вае­мый спи­сок ва­ших со­единений и по­зво­ляю­щая фильт­ро­вать и сор­ти­ро­вать этот спи­сок. Вам неза­чем ука­зы­вать се­те­вой ин­тер­фейс для монито­рин­га: IPTState без за­тей сле­дит за во­об­ще всем IP-тра­фи­ком, про­хо­дя­щим че­рез ваш ком­пь­ю­тер.

Про­грам­ма IPTState по­ка­жет все ва­ши те­ку­щие со­единения: их ис­точники, конеч­ные IP-ад­ре­са и пор­ты, ис­поль­зуе­мые про­то­ко­лы (TCP/UDP и т. д.), состояния со­единений и сро­ки их жиз­ни. Сто­ит упо­мя­нуть, что по умол­чанию при­ме­ня­ет­ся сор­ти­ров­ка по ис­ход­ным IP-ад­ре­сам.

Вы­жать мак­си­мум из IPTState

Од­но из тре­бо­ваний – ок­но ва­ше­го тер­ми­на­ла, где ото­бра­жа­ют­ся ре­зуль­та­ты ра­бо­ты IPTState, долж­но быть не менее 72 сим­во­лов в ши­ри­ну. В на­ше вре­мя монито­ры обыч­но мно­го ши­ре обыч­ных 80 сим­во­лов. Тогда вы по­лу­чи­те от IPTState го­раз­до боль­ше ин­фор­ма­ции. Как на­ме­ка­ет за­го­ло­вок ме­ню, по кла­ви­ше h вы­ве­дет­ся спи­сок го­ря­чих кла­виш с опи­санием вы­пол­няе­мых ими дей­ст­вий. Кла­ви­ша C пе­ре­клю­ча­ет ре­жим ото­бра­жения ото­слан­ной ин­фор­ма­ции – в бай­тах или в па­ке­тах. Ес­ли ок­но тер­ми­на­ла слиш­ком уз­кое, IPTState со­об­щит об этом и вернет­ся к нор­маль­но­му ре­жи­му.

Кла­ви­ши B и Shift+B цик­ли­че­­ски про­кру­чи­ва­ют спи­сок, от­сор­ти­ро­ван­ный по ви­ди­мым столб­цам. Жми­те B, что­бы сор­ти­ро­вать по сле­дую­ще­му столб­цу; а для сор­ти­ров­ки по пре­ды­ду­ще­му жми­те Shift+B. Кла­ви­ша R ме­ня­ет по­ря­док сор­ти­ров­ки, ко­то­рый со­хра­ня­ет­ся при на­жа­тии кла­виш B и Shift+B. Сле­до­ва­тель­но, ес­ли вы сор­ти­ро­ва­ли по столб­цу ис­ход­но­го IP-ад­ре­са в об­рат­ном по­ряд­ке, а за­тем два­ж­ды на­жа­ли кла­ви­шу B, что­бы сор­ти­ро­вать по конеч­но­му IP-ад­ре­су, по­ря­док сно­ва бу­дет об­рат­ным. На­жа­тия кла­ви­ши B по­зво­ля­ют сор­ти­ро­вать толь­ко по ви­ди­мым столб­цам, и что­бы сор­ти­ро­вать по бай­там или па­ке­там для кон­крет­но­го со­единения, ото­бра­зи­те со­от­вет­ст­вую­щие столб­цы на­жа­ти­ем Shift+C.

Мно­гие из кла­виа­тур­ных команд, ис­поль­зуе­мых ин­те­рак­тив­но, ра­бо­та­ют и в команд­ной стро­ке. На­при­мер, на­жа­тию Shift+C для по­ка­за счет­чи­ков бай­тов или па­ке­тов со­от­вет­ст­ву­ет за­пуск IPTState с клю­чом -C.

По­ря­док сор­ти­ров­ки мож­но уста­но­вить по умол­чанию с по­мо­щью оп­ции команд­ной стро­ки –sort. На­при­мер, что­бы сор­ти­ро­вать по ко­ли­че­­ст­ву пе­ре­дан­ных бай­тов, ис­поль­зуй­те —sort b. От­ме­тим, что для сор­ти­ров­ки по бай­там или па­ке­там необ­хо­ди­мо яв­но ука­зать -C для ото­бра­жения нуж­ных столб­цов.

Фильт­руй — не хо­чу

Бо­лее то­го, мож­но фильт­ро­вать ото­бра­жае­мую ин­фор­ма­цию, ото­бра­жая толь­ко кон­крет­ные ис­ход­ные и/или конеч­ные IP-ад­ре­са, и ис­ход­ные и/или конеч­ные пор­ты. Мож­но так­же уда­лить все со­единения, ис­поль­зую­щие локаль­ный хост (loopback). Фильт­ры ис­ход­ных IP-ад­ре­са и пор­та уста­нав­ли­ва­ют­ся кла­ви­ша­ми S и Shift+S, и, со­от­вет­ст­вен­но, фильт­ры конеч­ных IP-ад­ре­са и пор­та за­да­ют­ся на­жа­ти­ем кла­виш D и Shift+D. Кла­ви­ша F вклю­ча­ет и вы­клю­ча­ет ре­жим ото­бра­жения со­единений че­рез ад­рес об­рат­ной свя­зи (loopback-ад­рес).

К со­жа­лению, фильт­ра­ция по IP-ад­ре­сам не принима­ет имен DNS, ма­сок под­се­тей, спе­ци­фи­ка­ций CIDR и ре­гу­ляр­ных вы­ра­жений. Фильт­ра­ция по пор­там то­же по­ка по­зво­ля­ет ука­зать лишь один порт. Ес­ли при­ме­ня­ет­ся слож­ный про­то­кол, ис­поль­зую­щий мно­же­ст­во пор­тов, эта воз­мож­ность при­го­дит­ся для про­смот­ра тра­фи­ка от кон­крет­но­го сер­ви­са.

Кла­ви­ша L или оп­ция команд­ной стро­ки -l ве­лит IPTState пы­тать­ся пре­об­ра­зо­вать на эк­ран­ном ото­бра­жении IP-ад­ре­са в име­на хостов. По умол­чанию эта оп­ция от­клю­че­на. В ча­ст­ной се­ти ее вклю­чение, ве­ро­ят­но, сгенери­ро­ва­ло бы по­ток за­про­сов DNS по ча­ст­ным IP-ад­ре­сам. На­при­мер, ад­ре­са в со­ста­ве бло­ка 192 – 168 не долж­ны мар­шру­ти­зи­ро­вать­ся в Internet.

Хо­тя поль­зо­ва­те­ли ITPState мо­гут при же­лании ви­деть име­на хостов, им нельзя ото­бра­жать за­пи­си в фай­ле /etc/services, со­от­вет­ст­вую­щие но­ме­рам пор­тов.

Еще, по­жа­луй­ста

Об­щие ко­ли­че­­ст­ва бай­тов и па­ке­тов, ото­бра­жае­мые IPTState, по­ка­зы­ва­ют­ся для пол­но­го сро­ка жизни со­единений. Од­на из функ­ций, спо­соб­ная уп­ро­стить от­лад­ку вы­бро­сов в се­ти – про­смотр сум­мар­ных зна­чений за кон­крет­ный пе­ри­од вре­мени: на­при­мер, толь­ко за по­следние 20 се­кунд. Об­ра­ти­те внимание, что хо­тя кла­ви­шей R мож­но ме­нять час­то­ту об­нов­ления эк­ран­но­го ото­бра­жения, это не от­ме­ня­ет то­го фак­та, что по­ка­за­те­ли счет­чи­ков тра­фи­ка ото­бра­жа­ют­ся для пол­но­го сро­ка жизни со­единений.

Тем не менее, оп­ции фильт­ра­ции и сор­ти­ров­ки IPTState вме­сте об­ра­зу­ют мощ­ный ин­ст­ру­мент для про­смот­ра и ис­сле­до­вания те­ку­щих по­то­ков тра­фи­ка в ва­шей се­ти. На­ли­чие па­ке­тов для мно­же­ст­ва ди­ст­ри­бу­ти­вов Linux плюс не слиш­ком боль­шой шлейф за­ви­си­мо­стей де­ла­ют IPTState очень удоб­ным ин­ст­ру­мен­том, ко­то­рый сле­ду­ет иметь в ви­ду, ес­ли нуж­но вы­яс­нить, кто или что на­бро­сил­ся на ва­шу по­ло­су про­пус­ка­ния.

Netstat

Ес­ли у вас есть со­еди­не­ние с кон­крет­ным пор­том, про­смот­ри­те файл /etc/services, что­бы уви­деть, пре­ду­смот­рен ли для это­го пор­та ка­кой-ни­будь из­вест­ный сер­вис. На­при­мер, об­ще­из­ве­ст­но, что порт 22 по умол­ча­нию про­слу­ши­ва­ет­ся сер­ве­ром SSH. Что­бы оп­ре­де­лить, ка­кой про­цесс в дан­ный мо­мент ис­поль­зу­ет порт, вос­поль­зуй­тесь ко­ман­дой netstat. Оп­ция ко­манд­ной стро­ки -n вы­во­дит но­ме­ра пор­тов, оп­ция -a ото­бра­жа­ет все со­еди­не­ния, а оп­ция -p ука­зы­ва­ет и иден­ти­фи­ка­тор со­от­вет­ст­вую­ще­го про­цес­са ID. На­при­мер, по­про­буй­те вве­сти сле­дую­щую ко­ман­ду:

netstat -nap | grep “:22\s”

В от­вет ко­ман­да долж­на вы­вес­ти не­что вро­де

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2957/sshd

со­об­щив, что sshd ис­поль­зу­ет порт 22.

CIDRs

При­ме­ром ука­за­ния фильт­ра с по­мо­щью CIDR (Classless Inter-Domain Routing) мо­жет слу­жить 192.168.1.0/24, где 24 оз­на­ча­ет, что при на­ло­же­нии фильт­ра ис­поль­зу­ют­ся пер­вые 24 би­та IP-ад­ре­са. Сле­до­ва­тель­но, все ад­ре­са, на­чи­наю­щие­ся с 192.168.1, бу­дут сов­па­дать с фильт­ром. CIDR ре­аль­но по­лез­но для ука­за­ния ад­ре­сов вир­ту­аль­ных ча­ст­ных се­тей.

Персональные инструменты
купить
подписаться
Яндекс.Метрика