Une discussion détaillée sur la commande netstat sous Linux

黄舟
Libérer: 2017-05-27 10:22:18
original
2197 Les gens l'ont consulté

L'éditeur ci-dessous vous apportera une discussion détaillée de la commande Linux netstat (essentielle pour les entretiens avec les seniors). L'éditeur pense que c'est plutôt bien, alors je vais le partager avec vous maintenant et le donner comme référence. Venez jeter un oeil avec l'éditeur

Introduction

La commande Netstat permet d'afficher divers réseaux Informations associées, telles que la connexion réseau, la table de routage, l'interfacestatut (Statistiques d'interface), la connexion de mascarade, les adhésions de multidiffusion (Adhésions de multidiffusion), etc.

Signification des informations de sortie

Après l'exécution de netstat, le résultat de sortie est

Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 2 210.34.6.89:telnet 210.34.6.96:2873 ESTABLISHED
tcp 296 0 210.34.6.89:1165 210.34.6.84:netbios-ssn ESTABLISHED
tcp 0 0 localhost.localdom:9001 localhost.localdom:1162 ESTABLISHED
tcp 0 0 localhost.localdom:1162 localhost.localdom:9001 ESTABLISHED
tcp 0 80 210.34.6.89:1161 210.34.6.10:netbios-ssn CLOSE

Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Type State I-Node Path
unix 1 [ ] STREAM CONNECTED 16178 @000000dd
unix 1 [ ] STREAM CONNECTED 16176 @000000dc
unix 9 [ ] DGRAM 5292 /dev/log
unix 1 [ ] STREAM CONNECTED 16182 @000000df
Copier après la connexion

Dans l'ensemble, les résultats de sortie de netstat peuvent être divisés en deux parties :

L'une concerne les connexions Internet actives, appelées connexions TCP actives, parmi lesquelles "Recv-Q" et "Envoyer-Q" fait référence à la file d'attente de réception et à la file d'attente d'envoi de %0A. Ces nombres doivent généralement être 0. Sinon, cela signifie que les colis s'accumulent dans la file d'attente. Cette situation ne peut être constatée que dans des cas très rares.

L'autre est les sockets de domaine UNIX actifs, appelés sockets de domaine Unix actifs (les mêmes que les sockets réseau, mais ne peuvent être utilisés que pour la communication locale et les performances peuvent être doublées).

Proto affiche le protocole utilisé pour la connexion, RefCnt représente le numéro de processus connecté à ce socket, Types affiche le type de socket, State affiche l'état actuel du socket et Path représente le numéro de processus connecté à le socket Pathname utilisé par d'autres processus.

Paramètres communs

-a (tous) affiche toutes les options, non affichées par défaut LISTEEN associé
-t (tcp) Afficher uniquement les options liées à TCP
-u (udp) Afficher uniquement les options liées à UDP
-n Refuser d'afficher les alias et convertir tous les nombres pouvant être affichés en nombres.
-l répertorie uniquement l'état du service en écoute (écoute)

-p affiche le nom du programme qui a établi le lien concerné
-r affiche les informations de routage, la table de routage
- e affiche les informations d'extension, telles que l'uid, etc.
-s Statistiques selon chaque protocole
-c Exécutez la commande netstat à intervalles réguliers.

Astuce : L'état de LISTEN et LISTENING ne peut être vu qu'avec -a ou -l

Exemples de commandes pratiques

1. Liste tous les ports (y compris ceux en écoute et non-écoute)

Liste tous les ports netstat -a

# netstat -a | more
 Active Internet connections (servers and established)
 Proto Recv-Q Send-Q Local Address      Foreign Address     State
 tcp    0   0 localhost:30037     *:*           LISTEN
 udp    0   0 *:bootpc        *:*
 
Active UNIX domain sockets (servers and established)
 Proto RefCnt Flags    Type    State     I-Node  Path
 unix 2   [ ACC ]   STREAM   LISTENING   6135   /tmp/.X11-unix/X0
 unix 2   [ ACC ]   STREAM   LISTENING   5140   /var/run/acpid.socket
Copier après la connexion

Liste tous les ports TCP netstat -at

# netstat -at
 Active Internet connections (servers and established)
 Proto Recv-Q Send-Q Local Address      Foreign Address     State
 tcp    0   0 localhost:30037     *:*           LISTEN
 tcp    0   0 localhost:ipp      *:*           LISTEN
 tcp    0   0 *:smtp         *:*           LISTEN
 tcp6    0   0 localhost:ipp      [::]:*         LISTEN
Copier après la connexion

Liste tous les ports udp netstat -au

# netstat -au
 Active Internet connections (servers and established)
 Proto Recv-Q Send-Q Local Address      Foreign Address     State
 udp    0   0 *:bootpc        *:*
 udp    0   0 *:49119         *:*
 udp    0   0 *:mdns         *:*
Copier après la connexion

2. Liste toutes les sockets en état d'écoute

Afficher uniquement le ports d'écoute netstat -l

# netstat -l
 Active Internet connections (only servers)
 Proto Recv-Q Send-Q Local Address      Foreign Address     State
 tcp    0   0 localhost:ipp      *:*           LISTEN
 tcp6    0   0 localhost:ipp      [::]:*         LISTEN
 udp    0   0 *:49119         *:*
Copier après la connexion

Liste uniquement tous les ports TCP d'écoute netstat -lt

# netstat -lt
 Active Internet connections (only servers)
 Proto Recv-Q Send-Q Local Address      Foreign Address     State
 tcp    0   0 localhost:30037     *:*           LISTEN
 tcp    0   0 *:smtp         *:*           LISTEN
 tcp6    0   0 localhost:ipp      [::]:*         LISTEN
Copier après la connexion

Liste uniquement tous les ports UDP d'écoute netstat -lu

# netstat -lu
 Active Internet connections (only servers)
 Proto Recv-Q Send-Q Local Address      Foreign Address     State
 udp    0   0 *:49119         *:*
 udp    0   0 *:mdns         *:*
Copier après la connexion

Liste uniquement tous les ports UNIX en écoute netstat -lx

# netstat -lx
 Active UNIX domain sockets (only servers)
 Proto RefCnt Flags    Type    State     I-Node  Path
 unix 2   [ ACC ]   STREAM   LISTENING   6294   private/maildrop
 unix 2   [ ACC ]   STREAM   LISTENING   6203   public/cleanup
 unix 2   [ ACC ]   STREAM   LISTENING   6302   private/ifmail
 unix 2   [ ACC ]   STREAM   LISTENING   6306   private/bsmtp
Copier après la connexion

3. Afficher les statistiques pour chaque protocole

Afficher les statistiques pour tous les ports Informations netstat -s<🎜. >

# netstat -s
 Ip:
 11150 total packets received
 1 with invalid addresses
 0 forwarded
 0 incoming packets discarded
 11149 incoming packets delivered
 11635 requests sent out
 Icmp:
 0 ICMP messages received
 0 input ICMP message failed.
 Tcp:
 582 active connections openings
 2 failed connection attempts
 25 connection resets received
 Udp:
 1183 packets received
 4 packets to unknown port received.
 .....
Copier après la connexion
Afficher les statistiques des ports TCP ou UDP netstat -st ou -su

# netstat -st

# netstat -su

4. Afficher le PID et le nom du processus dans la sortie netstat netstat -p

netstat -p peut être utilisé avec d'autres commutateurs pour ajouter "PID/nom du processus" à netstat Dans la sortie, vous pouvez facilement trouver le programme en cours d'exécution sur un port spécifique pendant le débogage.

# netstat -pt
 Active Internet connections (w/o servers)
 Proto Recv-Q Send-Q Local Address      Foreign Address     State    PID/Program name
 tcp    1   0 ramesh-laptop.loc:47212 192.168.185.75:www    CLOSE_WAIT 2109/firefox
 tcp    0   0 ramesh-laptop.loc:52750 lax:www ESTABLISHED 2109/firefox
Copier après la connexion

5. N'affichez pas l'hôte, le port et le nom d'utilisateur (hôte, port ou utilisateur) dans la sortie netstat

Lorsque vous ne voulez pas l'hôte, port et pour afficher le nom d'utilisateur, utilisez netstat -n. Des chiffres seront utilisés à la place de ces noms.

peut également accélérer la sortie, car il n'est pas nécessaire de comparer les

requêtes.

# netstat -an
Copier après la connexion
Si vous ne souhaitez pas qu'un seul de ces trois noms soit affiché, utilisez la commande suivante

# netsat -a --numeric-ports
# netsat -a --numeric-hosts
# netsat -a --numeric-users
Copier après la connexion

Affichez en continu les informations netstat .

netstat affichera des informations sur le réseau toutes les secondes.

# netstat -c
 Active Internet connections (w/o servers)
 Proto Recv-Q Send-Q Local Address      Foreign Address     State
 tcp    0   0 ramesh-laptop.loc:36130 101-101-181-225.ama:www ESTABLISHED
 tcp    1   1 ramesh-laptop.loc:52564 101.11.169.230:www   CLOSING
 tcp    0   0 ramesh-laptop.loc:43758 server-101-101-43-2:www ESTABLISHED
 tcp    1   1 ramesh-laptop.loc:42367 101.101.34.101:www   CLOSING
 ^C
Copier après la connexion

7. Afficher les familles d'adresses qui ne sont pas prises en charge par le système

netstat --verbose
Copier après la connexion
A la fin de la sortie, il y aura les informations suivantes

netstat: no support for `AF IPX&#39; on this system.
netstat: no support for `AF AX25&#39; on this system.
netstat: no support for `AF X25&#39; on this system.
netstat: no support for `AF NETROM&#39; on this system.
Copier après la connexion

8. Afficher les informations de routage principales netstat -r

# netstat -r
 Kernel IP routing table
 Destination   Gateway     Genmask     Flags  MSS Window irtt Iface
 192.168.1.0   *        255.255.255.0  U     0 0     0 eth2
 link-local   *        255.255.0.0   U     0 0     0 eth2
 default     192.168.1.1   0.0.0.0     UG    0 0     0 eth2
Copier après la connexion

Remarque : utilisez netstat -rn pour afficher le format numérique et ne pas interroger. le nom d'hôte.

9. Recherchez le port sur lequel le programme s'exécute

Tous les processus ne peuvent pas être trouvés, et ceux sans autorisation ne seront pas affichés. autorisations pour afficher toutes les informations.

# netstat -ap | grep ssh
 tcp    1   0 dev-db:ssh      101.174.100.22:39213    CLOSE_WAIT -
 tcp    1   0 dev-db:ssh      101.174.100.22:57643    CLOSE_WAIT -
Copier après la connexion
Découvrez le processus en cours d'exécution sur le port spécifié

# netstat -an | grep &#39;:80&#39;
Copier après la connexion

10. Afficher la liste des interfaces réseau

# netstat -i
 Kernel Interface table
 Iface  MTU Met  RX-OK RX-ERR RX-DRP RX-OVR  TX-OK TX-ERR TX-DRP TX-OVR Flg
 eth0    1500 0     0   0   0 0       0   0   0   0 BMU
 eth2    1500 0   26196   0   0 0     26883   6   0   0 BMRU
 lo    16436 0     4   0   0 0       4   0   0   0 LRU
Copier après la connexion

显示详细信息,像是 ifconfig 使用 netstat -ie:

# netstat -ie
 Kernel Interface table
 eth0   Link encap:Ethernet HWaddr 00:10:40:11:11:11
 UP BROADCAST MULTICAST MTU:1500 Metric:1
 RX packets:0 errors:0 dropped:0 overruns:0 frame:0
 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
 collisions:0 txqueuelen:1000
 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
 Memory:f6ae0000-f6b00000
Copier après la connexion

11. IP和TCP分析

查看连接某服务端口最多的的IP地址

wss8848@ubuntu:~$ netstat -nat | grep "192.168.1.15:22" |awk &#39;{print $5}&#39;|awk -F: &#39;{print $1}&#39;|sort|uniq -c|sort -nr|head -20
18 221.136.168.36
3 154.74.45.242
2 78.173.31.236
2 62.183.207.98
2 192.168.1.14
2 182.48.111.215
2 124.193.219.34
2 119.145.41.2
2 114.255.41.30
1 75.102.11.99
Copier après la connexion

TCP各种状态列表

wss8848@ubuntu:~$ netstat -nat |awk &#39;{print $6}&#39;
established)
Foreign
LISTEN
TIME_WAIT
ESTABLISHED
TIME_WAIT
SYN_SENT
Copier après la connexion

先把状态全都取出来,然后使用uniq -c统计,之后再进行排序。

wss8848@ubuntu:~$ netstat -nat |awk &#39;{print $6}&#39;|sort|uniq -c
143 ESTABLISHED
1 FIN_WAIT1
1 Foreign
1 LAST_ACK
36 LISTEN
6 SYN_SENT
113 TIME_WAIT
1 established)
Copier après la connexion

最后的命令如下:

netstat -nat |awk &#39;{print $6}&#39;|sort|uniq -c|sort -rn
Copier après la connexion

分析access.log获得访问前10位的ip地址

awk &#39;{print $1}&#39; access.log |sort|uniq -c|sort -nr|head -10
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal