GNU/Linux >> Tutoriels Linux >  >> FreeBSD

15 'Exemples de commandes Sockstat' utiles pour trouver des ports ouverts dans FreeBSD

Sockstat est un utilitaire de ligne de commande polyvalent utilisé pour afficher les sockets réseau et système ouverts dans FreeBSD. Principalement, la commande sockstat est installée par défaut dans FreeBSD et est couramment utilisée pour afficher le nom des processus qui ont ouvert un certain port réseau sur un système FreeBSD.

Cependant, sockstat peut également répertorier les sockets ouverts en fonction de la version du protocole (les deux versions IP), de l'état de la connexion et des ports sur lesquels un démon ou un programme se lie et écoute.

Lire aussi :20 exemples de commandes "netstat" utiles pour vérifier les connexions réseau

Il peut également afficher des sockets de communication inter-processus, généralement appelés sockets de domaine Unix ou IPC. La commande sockstat combinée avec le filtre grep ou via l'utilitaire awk s'avère être un outil puissant pour la pile de réseau local.

Il peut réduire les résultats d'une connexion ouverte en fonction de l'utilisateur propriétaire du socket, du descripteur de fichier d'un socket réseau ou du PID du processus qui a ouvert le socket.

Dans ce guide, nous énumérerons quelques exemples d'utilisation courants, mais également très puissants, de l'utilitaire de mise en réseau en ligne de commande sockstat dans FreeBSD.

Exigences

  1. Guide d'installation FreeBSD 11.1

1. Lister tous les ports ouverts dans FreeBSD

Exécutée simplement sans aucune option ni commutateur, la commande socksstat affichera tous les sockets ouverts dans un système FreeBSD, comme illustré dans la capture d'écran ci-dessous.

# sockstat

Les valeurs affichées dans la sortie socksstat sont décrites comme :

  • UTILISATEUR :Le propriétaire (compte utilisateur) du socket.
  • COMMANDE :La commande qui a ouvert le socket.
  • PID  :ID de processus de la commande propriétaire du socket.
  • FD :Le numéro de descripteur de fichier du socket.
  • PROTO  :Le protocole de transport (généralement TCP/UDP) associé au socket ouvert ou au type de socket dans le cas de sockets de domaine Unix (datagramme, flux ou seqpac) pour les sockets UNIX.
  • ADRESSE LOCALE :Il représente l'adresse IP locale pour les sockets basés sur IP. Dans le cas des sockets Unix, il représente le nom de fichier du point de terminaison attaché au socket. Le “??” La notation implique que le point de terminaison du socket n'a pas pu être reconnu ou établi.
  • ADRESSE À L'ÉTRANGER :L'adresse IP distante à laquelle le socket est connecté.

2. Lister les ports en écoute ou ouverts dans FreeBSD

Exécuté avec le -l flag, la commande socksstat affichera tous les sockets d'écoute ouverts dans la pile réseau et tous les sockets de domaine Unix ouverts ou les canaux nommés impliqués dans une sorte de traitement de données local dans le système.

# sockstat -l

3. Lister les ports IPv4 ouverts dans FreeBSD

Pour afficher tous les sockets ouverts pour IPv4 protocole uniquement, émettez la commande avec le -4 flag, comme suggéré dans l'exemple ci-dessous.

# sockstat -4

4. Lister les ports IPv6 ouverts dans FreeBSD

Semblable à la version IPv4, vous pouvez également afficher les sockets réseau ouverts pour IPv6 uniquement, en exécutant la commande comme indiqué ci-dessous.

# sockstat -6

5. Lister les ports TCP ou UDP ouverts dans FreeBSD

Afin d'afficher les sockets réseau basés uniquement sur un protocole réseau spécifié, tel que TCP ou UDP , utilisez le -P flag, suivi du nom de l'argument du protocole.

Les noms de protocole peuvent être trouvés en inspectant le contenu de /etc/protocols dossier. Actuellement, le protocole ICMP n'est pas pris en charge par l'outil sockstat.

Afficher uniquement les sockets TCP
# sockstat -P tcp
Afficher uniquement les sockets UDP
# sockstat -P udp

Chaînez les deux protocoles.

# sockstat –P tcp,udp

6. Répertorier les numéros de port spécifiques TCP et UDP

Si vous souhaitez afficher tous les sockets IP TCP ou UDP ouverts, en fonction du numéro de port local ou distant, utilisez les indicateurs de commande et la syntaxe ci-dessous, comme illustré dans la capture d'écran ci-dessous.

# sockstat -P tcp -p 443             [Show TCP HTTPS Port]
# sockstat -P udp -p 53              [Show UDP DNS Port] 
# sockstat -P tcp -p 443,53,80,21    [Show Both TCP and UDP]

7. Lister les ports ouverts et connectés dans FreeBSD

Pour afficher toutes les sockets ouvertes et connectées, utilisez le -c drapeau. Comme indiqué dans les exemples ci-dessous, vous pouvez répertorier tous les HTTPS sockets connectés ou tous les sockets TCP connectés en émettant les commandes.

# sockstat -P tcp -p 443 -c
# sockstat -P tcp -c

8. Lister les ports d'écoute réseau dans FreeBSD

Pour lister tous les sockets TCP ouverts en état d'écoute, ajoutez le -l et -s flags, comme illustré dans l'exemple ci-dessous. Étant un protocole sans connexion, UDP ne conserve aucune information sur l'état de la connexion.

Les sockets UDP ouverts ne peuvent pas être affichés en utilisant leur état, car le protocole udp utilise des datagrammes pour envoyer/recevoir des données et n'a pas de mécanisme intégré pour déterminer l'état de la connexion.

# sockstat -46 -l -s

9. Lister les sockets Unix et les canaux nommés

Les sockets de domaine Unix, ainsi que d'autres formes de communication inter-processus locales, telles que les canaux nommés, peuvent être affichés par la commande socksstat en utilisant le -u drapeau, comme indiqué dans l'image ci-dessous.

# sockstat -u

10. Lister les ports ouverts par application dans FreeBSD

La sortie de la commande Sockstat peut être filtrée via l'utilitaire grep afin d'afficher une liste des ports ouverts par une application ou une commande spécifique.

Supposons que vous souhaitiez répertorier tous les sockets associés à Nginx serveur Web, vous pouvez émettre la commande suivante pour accomplir la tâche.

# sockstat -46 | grep nginx

Pour afficher uniquement les sockets connectés associés au serveur Web Nginx, exécutez la commande suivante.

# sockstat -46 -c| grep nginx

11. Lister les protocoles connectés HTTPS

Vous pouvez lister toutes les sockets connectées associées à HTTPS protocol à côté de l'état de chaque connexion en exécutant la commande ci-dessous.

# sockstat -46 -s -P TCP -p 443 -c

12. Lister les sockets distants HTTP

Pour répertorier tous les sockets distants associés au protocole HTTP, vous pouvez exécuter l'une des combinaisons de commandes suivantes.

# sockstat -46 -c | egrep '80|443' | awk '{print $7}' | uniq -c | sort -nr
# sockstat -46 -c -p 80,443 | grep -v ADDRESS|awk '{print $7}' | uniq -c | sort -nr

13. Trouver les requêtes HTTP les plus élevées par adresses IP

Si vous souhaitez connaître le nombre de connexions HTTP demandées par chaque adresse IP distante, exécutez la commande ci-dessous. Cette commande peut être très utile si vous souhaitez déterminer si votre serveur Web subit une attaque DDOS. En cas de suspicion, vous devez rechercher les adresses IP avec le taux de demande le plus élevé.

# sockstat -46 -c | egrep '80|443' | awk '{print $7}' | cut -d: -f1 | uniq -c | sort –nr

14. Lister les sockets DNS ouverts

Si vous avez configuré un serveur DNS de mise en cache et de transfert dans vos locaux pour servir les clients internes via le protocole de transport TCP et que vous souhaitez afficher une liste de tous les sockets
ouverts par le résolveur, ainsi que l'état de chaque connexion de socket, exécutez la commande suivante.

# sockstat -46 -P tcp –p 53 -s

15. Interroger le DNS TCP sur le domaine local

S'il n'y a pas de trafic DNS sur le réseau, vous pouvez déclencher manuellement une requête DNS sur le socket TCP à partir de la console de la machine locale en exécutant la commande dig suivante. Ensuite, exécutez la commande ci-dessus pour répertorier tous les sockets de résolution.

# dig +tcp  www.domain.com  @127.0.0.1

C'est tout! Avec les utilitaires de ligne de commande netstat et lsof, la ligne de commande socksstat est un utilitaire puissant utilisé pour acquérir des informations sur le réseau et dépanner plusieurs aspects de la pile réseau FreeBSD et des processus et services liés au réseau.

L'homologue de la commande FreeBSD sockstat sous Linux est représenté par netstat ou le nouveau ss commande. Croyez-le ou non, basé sur l'utilitaire socksstat, vous pouvez trouver une application similaire développée pour le système d'exploitation Android, nommée SockStat - Simple Netstat GUI.


FreeBSD
  1. 12 exemples de commandes Wget utiles sous Linux

  2. 23 exemples de commandes PKG utiles pour gérer les packages dans FreeBSD

  3. 5 exemples utiles de commande firewall-cmd

  4. 7 exemples de commandes de recherche utiles pour localiser les fichiers à supprimer lorsqu'un système de fichiers est plein

  5. trouver des exemples de commandes sous Linux

11 Exemples de commandes de date Linux utiles

Exemples de commandes Wget utiles dans le système Linux

50 exemples simples et utiles de la commande Find sous Linux

15 exemples utiles de commande touch dans le système Linux

15 exemples super utiles de la commande Find sous Linux

12 exemples de commandes de date Linux utiles