**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, што вядзе да адлюстроўвання некарэктных ці няпоўных вынікаў.

Гл. таксама
-----------

* hosts
* networks
* protocols
* services
* trpt

Спасылкі
--------

* Проект OpenNet
* FreeBSD System Manager's Manual (англ.)

| ⛭Стандартныя праграмы UNIX (усе праграмы) |
| --- |
| Файлавыя сістэмы | chroot · dd · df · fdisk · fsck · mkisofs · mkswap · mount · umount · rehash |
| Файлы і каталогі | cat · chattr · cd · chmod · chown · chgrp · cksum · cmp · cp · diff · du · file · fuser · ln · ls · lsof · mkdir · mv · od · pwd · rm · rmdir · split · touch |
| Працэсы | at · cron · exit · kill · killall · nice · nohup · pgrep · pidof · pkill · ps · renice · sleep · time · top · wait · watch |
| Карыстальнікі | env · finger · id · last · logname · mesg · passwd · su · sudo · uptime · w · wall · who · whoami · write |
| Сетка | ftp · host · ifconfig · netcat · netstat · nmap · nslookup · ping · rlogin · SSH · traceroute · wget |
| Тэксты | AWK · comm · cut · ed · ex · expand · unexpand · fmt · head · iconv · join · less · more · paste · pr · sed · sort · tac · tail · tr · uniq · wc · xargs |
| Камандны радок | alias · basename · bash · bind · dirname · echo · expr · false · printf · test · true · unset |
| Пошук | find · grep · strings · whereis · which |
| Рознае | banner · bc · cal · date · help · lp · man · Xhistory · size · tee · uname · yes · reboot |