Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Tags
- geoip
- FTP
- SSL인증서
- DNS
- 서버보안
- ubuntu
- SMTP설정
- Apache
- 리눅스서버
- 시스템관리
- 리눅스명령어
- 오블완
- FileZilla
- 서버방화벽
- iptables
- ip차단
- 리눅스
- 웹서버
- centos7
- 파일질라
- postfix
- CentOS
- 티스토리챌린지
- 국가IP차단
- 서버운영
- linux
- 서버관리
- https
- oops-firwall
- sftp
Archives
- Today
- Total
운영중입니다
lsof 사용법 가이드 – 프로세스와 연결된 파일 확인하기 본문
✅ 1. lsof 는 무엇인가?
lsof는 List Open Files의 줄임말.
리눅스/유닉스에서 “모든 것은 파일”이라는 철학 때문에, 일반 파일뿐 아니라 디렉토리, 라이브러리, 파이프, 장치 파일, 네트워크 소켓까지 모두 파일로 취급됨.
즉, lsof를 사용하면 현재 실행 중인 프로세스가 열고 있는 모든 파일과 연결을 확인할 수 있음.
✅ 2. 주요 용도
- 네트워크 포트 추적: 어떤 프로세스가 80, 443 같은 포트를 사용 중인지 확인할 때 유용함.
- 파일 잠금 문제 해결: 특정 파일을 삭제하거나 수정하려고 할 때 어떤 프로세스가 잡고 있는지 확인 가능함.
- 보안 점검: 외부와 몰래 통신하는 프로세스를 추적할 때 사용함.
- 디버깅/운영: 서비스가 어떤 설정 파일이나 라이브러리를 로딩하는지 확인할 때 활용함.
즉, 시스템 관리와 보안, 문제 해결, 디버깅 등 다양한 상황에서 필요함.
✅ 3. 기본 사용법
📌 대표적인 옵션과 예시를 정리함.
3.1 특정 프로세스가 연 파일 보기
lsof -p <PID>
#PID를 가진 프로세스가 열고 있는 파일, 라이브러리, 소켓 등을 모두 보여줌.
3.2 모든 네트워크, 특정 포트, 사용 중인 프로세스 확인
lsof -i # 모든 네트워크 소켓 확인
lsof -i :80 # 특정 포트(80) 사용 중인 프로세스 확인
lsof -i TCP:22-80 # TCP 포트 범위 22~80 사용 프로세스 확인
lsof -i TCP # TCP 소켓 사용 중인 모든 프로세스 확인
lsof -i UDP # UDP 소켓 사용 중인 모든 프로세스 확인
#네트워크 트래픽과 관련된 문제를 추적하거나 서비스 포트 확인할 때 필수임.
3.3 특정 사용자 프로세스 확인
lsof -u <사용자 계정>
#특정 계정이 연 파일과 소켓만 필터링해서 보여줌.
#멀티유저 서버에서 각 사용자의 프로세스 상태를 확인할 때 유용함.
3.4 특정 파일을 열고 있는 프로세스 확인
lsof /경로/파일명
#해당 파일을 열고 있는 프로세스를 즉시 확인 가능.
#파일 삭제/수정이 안 될 때, 어떤 프로세스가 잡고 있는지 확인하는 데 사용함.
💡 참고
- lsof는 옵션이 매우 다양하고 조합도 많음.
- 모든 사용법을 다 나열하기는 어려움.
- 기본적으로 PID, 사용자, 파일/소켓, 포트 상태 확인 정도만 알아도 대부분 상황에서 충분히 활용 가능함.
✅ 4. lsof 사용 시 함께 활용하는 명령어 및 IP 차단 방법
| 구분 | 명령어 / 설정 | 의미 | 사용 용도 |
| 4.1 | top | 시스템 전체 프로세스 및 자원 사용 현황 모니터링 | lsof로 특정 프로세스를 확인한 뒤 CPU, 메모리 사용량을 종합적으로 분석 |
| 4.2 | geoiplookup <IP> (GeoIP 설치 시) | 특정 IP 주소의 국가 및 지역 정보를 조회 | lsof로 확인한 외부 접속 IP의 위치를 파악하여 보안 점검에 활용 |
| 4.3 | netstat -tnap 또는 ss -tnap | 현재 열려 있는 네트워크 포트 및 연결 상태 확인 | lsof와 함께 네트워크 연결 상태를 종합적으로 분석 |
| 4.4.1 | vim /etc/oops-firewall/user.conf %-A INPUT -s <IP 대역대> -j DROP service oops-firewall restart |
oops-firewall 설정 파일을 수정해 특정 IP 대역 차단 | oops-firewall 환경에서 불필요한 외부 접속 차단 (사용자님 적용) |
| 4.4.2 | iptables -A INPUT -s <IP 대역대> -j DROP service iptables save service iptables restart |
iptables 규칙 추가 후 저장 | CentOS 5/6 등 구버전 서버에서 IP 대역 차단 시 사용 |
| 4.4.3 | firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="<IP 대역대>" reject' firewall-cmd --reload |
firewalld 환경에서 특정 IP 대역 접근 거부 | CentOS 7+, RHEL 7+, Rocky/AlmaLinux 등 최신 계열 서버에서 사용 |
👉 정리
- 공통적으로 lsof로 프로세스·연결 정보를 확인 후, top/geoiplookup/netstat(ss)와 함께 활용하면 원인 분석이 빠름.
- IP 차단은 서버 환경에 따라 oops-firewall / iptables / firewalld 중 적절한 방법 선택.
* oops-firewall 사용 방법
https://https443.tistory.com/11
'리눅스' 카테고리의 다른 글
| 리눅스 계정 비밀번호 만료 설정 및 확인 방법 정리 (0) | 2025.10.22 |
|---|---|
| CentOS 서버에서 stress를 활용한 부하 테스트 (0) | 2025.10.02 |
| Crontab을 통한 자동 실행 설정 가이드 (0) | 2025.08.11 |
| hwclock이란? System Clock과의 차이점과 동기화 방법 (4) | 2025.08.06 |
| 신규 서버 설치 후 꼭 확인해야 할 시간 설정 (1) | 2025.08.01 |