Netstat
Netstat — каманда unix і Windows для прагляду сеткавай статыстыкі прыёму/перадачы інфармацыі
Сінтаксіс
[правіць | правіць зыходнік]netstat [-Aan] [-f сямейства_адрасоў] [-I інтэрфейс] [-p імя_пратакола] [сістэма] [core] netstat [-n] [-s] [-i | -r] [-f сямейства_адрасоў] [-I інтэрфейс] [-p імя_пратакола] [сістэма] [core] netstat [-n] [-I інтэрфейс] інтэрвал [сістэма] [core]
Апісанне
[правіць | правіць зыходнік]Каманда netstat паказвае змест розных структур даных, звязаных з сеткай, у разнастайных фарматах у залежнасці ад вызначаных опцый.
Выкарыстанне
[правіць | правіць зыходнік]Першая форма каманды паказвае спіс актыўных сокетаў (sockets) для кожнага пратакола. Другая форма абірае адну з некалькіх іншых сеткавых структур даных. Форма паказвае дынамічную статыстыку перасылкі пакетаў па сканфігураваным сеткавым інтэрфейсам; аргумент інтэрвал задае, колькі секунд збіраецца інфармацыя паміж паслядоўнымі паказамі.
Значэнне па змоўчванню для аргумента сістэма — /unix; для аргумента core у якасці значэння па змоўчванню ужываецца /dev/kmem.
Опцыі
[правіць | правіць зыходнік]-a | Паказваць стан усіх сокетаў; звычайна сокеты, ужываемыя сервернымі працэсамі, не паказваюцца. |
-A | Паказваць адрасы любых кіруючых блокаў пратакола, звязаных з сокетамі; выкарыстоўваецца для адладкі. |
-i | Паказваць стан аўтаматычна сканфігураваных (auto-configured) інтэрфейсаў. ІНтэрфейсы, статычна сканфігураваныя ў сістэме, але не знойдзеныя падчас загрузкі, не паказваюцца. |
-n | Паказваць сеткавыя адрасы як лікі. netstat звычайна паказвае адрасы як сімвалы. Гэтую опцыю можна ужываць з любым фарматам паказу. |
-r | Паказаць табліцы маршрутызацыі. Пры ўжыванні з опцыяй -s, паказвае статыстыку маршрутызацыі. |
-s | Паказаць статыстычную інфармацыю па пратаколам. Пры ўжыванні з опцыяй -r, паказвае статыстыку маршрутызацыі. |
-f сямейства_адрасоў | Абмежаваць паказ статыстыкі ці адрасоў кіруючых блокаў толькі пазначаным сямействам_адрасоў, у якасці якога можна ўказваць:
inet Для сямейства адрасоў AF_INET, ці unix для сямейства адрасоў AF_UNIX. |
-I інтэрфейс | Вылучыць інфармацыю аб пазначаным інтэрфейсе ў асабісты слупок; па змоўчванню (для трэцяй формы каманды) ужываецца інтэрфейс з найбольшым аб'ёмам пераданай інфармацыі з моманту апошняй перазагрузкі сістэмы. У якасці інтэрфейса можна ўказваць любы з інтэрфейсаў, пералічаных у файле канфігурацыі сістэмы, напрыклад, emd1 ці lo0. |
-p | Друкаваць ідэнтыфікатар/назву працэса, які стварыў сокет (-p, --programs display PID/Program name for sockets) |
Адлюстроўваемая інфармацыя
[правіць | правіць зыходнік]Актыўныя сокеты
Для кожнага актыўнага сокета паказваецца пратакол, памер чэргаў прыёму і атрымання (у байтах), лакальны і аддалены адрас, а таксама унутраны стан пратакола. Сімвальны фармат, які звычайна ужываецца для паказу адрасоў сокетаў, гэта альбо:
імя_хаста.порт
калі імя хаста указана, альбо:
сетка.порт
калі адрас сокета задае сетка, але не дакладны хост. Імёны хастоў і сетак бяруцца з адпаведных запісаў у файле /etc/hosts ці /etc/networks.
Калі імя сеткі ці хаста для адраса невядома (ці калі ўказана опцыя -n), адрас адлюстроўваецца лічбамі. Не ўказаныя ці «абагульненыя» адрасы і парты паказваюцца як «*». Падрабязней аб пагадненнях па іменаванню ў Internet гл. старонку дапаможніка inet.
Сокеты TCP
Для сокетаў TCP дапушчальны наступныя значэнні стану:
CLOSED | Зачынены. Сокет не выкарыстоўваецца. |
LISTEN | Чакае ўваходзячых злучэнняў. |
SYN_SENT | Актыўна спрабуе ўсталяваць злучэнне. |
SYN_RECEIVED | Ідзе пачаткова сінхранізацыя злучэння. |
ESTABLISHED | Злучэнне ўсталявана. |
CLOSE_WAIT | Аддалены бок адключыўся; чаканне зачынення сокета. |
FIN_WAIT_1 | Сокет зачынены; адключэнне злучэння. |
CLOSING | Сокет зачынены, потым аддалены бок будзе адключаны; чаканне пацверджання. |
LAST_ACK | Аддалены бок адключаны, потым сокет будзе зачынены; чаканне пацверджання. |
FIN_WAIT_2 | Сокет зачынены; чаканне адключэння аддаленага боку. |
TIME_WAIT | Сокет зачынены, але чакае пакеты, якія знаходзяцца ў сетцы для апрацоўкі |
Сеткавыя структуры даных
Адлюстроўваемыя даныя залежаць ад выбару опцыі, -i альбо -r. Калі абраны абедзве опцыі, netstat выбірае -i.
Паказ табліцы маршрутызацыі
Табліца маршрутызацыі паказвае ўсе маршруты (routes) і статус кожнага з іх. Кожны маршрут складаецца з мэтавага хаста ці сеткі і шлюза (gateway), які ўжываецца для перасылкі пакетаў. Стаўбец flags (флагі) паказвае стан маршрута (U, калі ён уключаны), ці вядзе маршрут на шлюз (G), ці быў створаны маршрут дынамічна з дапамогай перанакіравання (D) і ці ўжываецца адрас індывідуальнага хаста (H) замест адраса сеткі. Напрыклад, інтэрфейс кальцавання (loopback transport provider), lo0, заўсёды мае флаг H.
Прамыя маршруты ствараюцца для кожнага інтэрфейса, далучанага да лакальнага хаста; поле gateway (шлюз) для такіх запісаў паказвае адрас выходзячыга інтэрфейса.
Стаўбец refcnt паказвае бягучую колькасць актыўных ужыванняў для маршрута. Пратаколы, арыентаваныя на злучэнне, звычайна ўжываюць падчас злучэння адзін маршрут, тады як пратаколы без злучэння атрымоўваюць маршрут для кожнай пасылкі аднаму і таму ж адрасату.
Слупок use паказвае колькасць пакетаў, пасланых па маршруту.
Слупок interface паказвае сеткавы інтэрфейс, які ўжываецца маршрутам.
Агульная статыстыка перадачы даных
Калі зададзены аргумент інтэрвал, netstat паказвае табліцу сумарнай статыстычнай інфармацыі аб пераданых пакетах, памылках і калізіях. Першы паказваемы радок, а таксама кожны наступны 24-ы радк утрымлівае агульную статыстычную інфармацыю з моманту апошняй перазагрузкі сістэмы. Кожны наступны радок паказвае даныя, сабраныя за чарговы інтэрвал з моманту апошняга паказу.
Папярэджанні
[правіць | правіць зыходнік]Табліцы ядра могуць змяняцца падчас іх апрацоўкі праграмай netstat, што вядзе да адлюстроўвання некарэктных ці няпоўных вынікаў.