library cpp compile c linux

cpp - Compruebe todos los zócalos abiertos en Linux OS



linux system library c (3)

/ proc / net / tcp - una lista de sockets de TCP abiertos

/ proc / net / udp -una lista de sockets udp abiertos

/ proc / net / raw -una lista de todos los sockets ''raw''

Estos son los archivos, use el comando cat para verlos. Por ejemplo:

cat /proc/net/tcp

También puede utilizar el comando lsof .

lsof es un comando que significa "lista de archivos abiertos", que se usa en muchos sistemas similares a Unix para informar una lista de todos los archivos abiertos y los procesos que los abrieron.

Mi programa abre un socket con esta función:

sockfd = socket (AF_INET, SOCK_RAW, IPPROTO_ICMP)

Después de terminar de enviar los datos se cierra el zócalo:

cerrar (sockfd);

Pero el problema es cuando el programa no se ejecuta bien y está bloqueando. De este modo el zócalo no se cerrará.

¿Cómo puedo verificar todos los sockets abiertos bajo el sistema operativo Linux?


Puedes usar el comando netstat

netstat - escucha

Para visualizar puertos abiertos y conexiones TCP establecidas,

netstat -vatn

Para mostrar solo los puertos UDP abiertos, pruebe el siguiente comando:

netstat -vaun


También puedes usar la utilidad ss para volcar estadísticas de sockets.

Para volcar resumen:

ss -s Total: 91 (kernel 0) TCP: 18 (estab 11, closed 0, orphaned 0, synrecv 0, timewait 0/0), ports 0 Transport Total IP IPv6 * 0 - - RAW 0 0 0 UDP 4 2 2 TCP 18 16 2 INET 22 18 4 FRAG 0 0 0

Para mostrar todos los sockets:

ss -a

Para mostrar sockets UDP:

ss -u -a

Para visualizar sockets TCP:

ss -t -a

Aquí puedes leer ss man: ss