발생하는 발신 연결 로깅


23

프로세스가 생성하는 모든 나가는 연결을 파일로 기록하는 방법이 있습니까? 나는 알고 netstat있지만 그 기간 동안 정보를 실행하고 기록하는 것이 아니라 특정 시점의 스냅 샷에 가깝습니다.

IP 또는 호스트 이름, 포트 및 연결하는 프로세스 만 필요합니다.


1
글쎄, watch -n 2 netstat그 동안 과 같은 일을 할 수는 있지만 적절한 해결책은 아닙니다.
Ulrich Schwarz

1
[이 글타래] [1] 귀하의 질문에 답변해야합니다 [1] : superuser.com/questions/34782/…
Alien Life Form

답변:


15

Linux에서는 네트워크 연결을 설정하려는 모든 시도를 기록 하도록 감사 서브 시스템 을 설정할 수 있습니다 . 감사 서브 시스템에 대한 정보는 auditctl매뉴얼 페이지 또는 이 학습서 또는 이 사이트의 다른 예제를 읽으십시오 . auditd필요한 경우 배포 패키지를 설치 한 다음

auditctl -A exit,always -S connect

로그는 /var/log/audit/audit.log내가 아는 모든 배포판에 있습니다. 당신은 또한 수 를 검색 하여 ausearch.


3
어느 프로세스가 발신 연결을 만드는지 식별해야했습니다. 이것은 즉시했다. 통나무를 범람하지 않게하려면 나중에 규칙을 제거하십시오.auditctl -d exit,always -S connect
Michael Hampton

로그를 어떻게 검사합니까?
luckydonald

@luckydonaldless /var/log/audit/audit.log
Gilles 'SO- 악마 그만'


3

Linux에서는이 ip_conntrack를 수행 하는 데 사용할 수 있습니다 . 방화벽 / NAT 박스에 의해 관리 될 이상한 행동 프로토콜 (FTP와 같은)의 연결을 모니터링하기 위해 일반적으로 사용되는 연결 추적 모듈입니다.

modprobe ip_conntrack
cat /proc/net/ip_conntrack

의사 파일을 grep하여 확립 된 연결을 확인하고 소스 IP가 상자에서 언제 시작되는지 확인하십시오.


질문은 반드시 Linux 중심 일 필요는 없습니다.
Karlson

0

tcpdump아웃 바운드 인터페이스 를 사용 하여 아웃 바운드 SYN요청을 살펴볼 것 입니다.

정말 모험적이라고 생각 되면 프로그램 실행을 추적하는 동안 다음과 같은 유틸리티를 만들 strace거나 truss모든 connect시스템 호출을 보고 할 수 있지만 약간 더 위험하며 멀티 스레드 프로세스를 처리 할 때 단점이 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.