lsof
p <PID>: 해당 프로세스 PID의 파일 지시자 목록 확인
c <process_name>: 해당 프로세스 이름의 파일 지시자 목록 확인
i: 인터넷 소켓들에 대한 목록을 보여줌
lsof -i TCP
lsof -i UDP
lsof -i :http
lsof -i :80
lsof -i :443
lsof -i :22-80
lsof -i @10.25.208.140
N: NFS로 연결되어 있는 파일에 대한 목록
U: 유닉스 도메인 소켓에 대한 목록
+D <path>: 해당 디렉토리를 열고있는 파일목록 확인
lsof +D /home/jongpak/logs
P: 서비스이름이 아닌 포트번호로 표시 (:http → :80 으로 표시)
n: 호스트 네임이 아닌 IP 주소로 표시
t: 자세한 정보를 출력하지 않고 PID 만 출력`: PID 만 출력하기 때문에 kill 등의 명령어와 조합하기 좋음
r <seconds>: 해당 주기로 반복하여 표시
ss
# -a: Display both listening and non-listening (for TCP this means established connections) sockets
# -n: Do not try to resolve service names.
# -p: Show process using socket.
# -e: Show detailed socket information
[jongpak@test-jongpak ~]$ sudo /sbin/ss -a -n -p -e | grep :80
tcp LISTEN 0 511 *:80 *:* users:(("/home1/irteam/a",pid=86990,fd=3),("/home1/irteam/a",pid=86989,fd=3),("/home1/irteam/a",pid=86988,fd=3),("/home1/irteam/a",pid=86987,fd=3),("/home1/irteam/a",pid=86986,fd=3),("/home1/irteam/a",pid=86985,fd=3),("/home1/irteam/a",pid=86984,fd=3),("/home1/irteam/a",pid=86983,fd=3),("/home1/irteam/a",pid=86982,fd=3),("/home1/irteam/a",pid=86981,fd=3),("/home1/irteam/a",pid=86980,fd=3),("/home1/irteam/a",pid=86979,fd=3),("/home1/irteam/a",pid=86978,fd=3),("/home1/irteam/a",pid=86977,fd=3),("/home1/irteam/a",pid=86976,fd=3),("/home1/irteam/a",pid=86975,fd=3),("/home1/irteam/a",pid=18696,fd=3)) ino:201188073 sk:ffff8800b62dc5c0 <->
tcp TIME-WAIT 0 0 10.113.255.97:43758 10.118.203.103:80 timer:(timewait,36sec,0) ino:0 sk:ffff8800471c6b00
# 소켓 통계
[jongpak@test-jongpak ~]$ sudo /sbin/ss -s
Total: 172 (kernel 950)
TCP: 18 (estab 5, closed 2, orphaned 0, synrecv 0, timewait 2/0), ports 0
Transport Total IP IPv6
* 950 - -
RAW 0 0 0
UDP 7 6 1
TCP 16 12 4
INET 23 18 5
FRAG 0 0 0