sourcetip

Linux OS에서 열려 있는 모든 소켓 확인

fileupload 2023. 8. 1. 20:42
반응형

Linux OS에서 열려 있는 모든 소켓 확인

내 프로그램은 다음 기능으로 소켓을 엽니다.

sockfd = 소켓 (AF_)INET, SOCK_RAW, IPPROTO_ICMP)

데이터 전송을 마치면 소켓이 닫힙니다.

close(tftfd);

그러나 문제는 프로그램이 잘 실행되지 않고 차단 중인 경우입니다.따라서 소켓이 닫히지 않습니다.

Linux OS에서 열려 있는 모든 소켓을 확인하려면 어떻게 해야 합니까?

또한 sss 유틸리티를 사용하여 소켓 통계를 덤프할 수 있습니다.

요약을 덤프하는 방법:

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

모든 소켓을 표시하려면:

ss -a

UDP 소켓을 표시하려면:

ss -u -a

TCP 소켓을 표시하는 방법

ss -t -a

여기서 당신은 남자를 읽을 수 있습니다: ss.

/tcp/net/cp - 열려 있는 tcp 소켓 목록

/messages/net/messages - 열려 있는 UDP 소켓 목록

/vmx/net/raw - 모든 'raw' 소켓 나열

이것들은 파일들입니다, 사용하세요.cat명령을 사용하여 볼 수를 입력합니다.예:

cat /proc/net/tcp

사용할 수도 있습니다.lsof지휘권

lsof는 "열린 파일 나열"을 의미하는 명령으로, 많은 유닉스 계열 시스템에서 열려 있는 모든 파일과 파일을 연 프로세스의 목록을 보고하는 데 사용됩니다.

netstat 명령을 사용할 수 있습니다.

netstat --listen

열려 있는 포트 및 설정된 TCP 연결을 표시하려면,

netstat -sn

열려 있는 UDP 포트만 표시하려면 다음 명령을 사용합니다.

netstat-vaun

언급URL : https://stackoverflow.com/questions/17523389/check-all-socket-opened-in-linux-os

반응형