![단일 애플리케이션의 네트워크 트래픽 덤프(strace와 유사)](https://linux55.com/image/35015/%EB%8B%A8%EC%9D%BC%20%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98%EC%9D%98%20%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC%20%ED%8A%B8%EB%9E%98%ED%94%BD%20%EB%8D%A4%ED%94%84(strace%EC%99%80%20%EC%9C%A0%EC%82%AC).png)
비슷한 방식으로 응용 프로그램에서 생성된 네트워크 데이터의 pcap, strace
덤프 시스템 호출 등을 덤프하는 방법을 찾고 있습니다. 예를 들면 다음과 같습니다.
net-strace somecommand -args
somecommand
네트워크를 통해 작업을 수행하고 net-strace
애플리케이션에서 생성된 모든 트래픽(+ 응답 및 관련 트래픽)의 pcap 덤프를 저장합니다.
이것이 달성될 수 있습니까?
답변1
strace 자체를 사용하는 것은 어떻습니까?
strace -f -e trace=network -o output_file -s 10000 somecommand -args
답변2
다양한 방법을 통해 애플리케이션에서 생성된 트래픽을 덤프할 수 있습니다.
애플리케이션이 사용하는 포트를 알고 있다면 다음을 실행할 수 있습니다.TCP 덤프또는라인샤크이러한 포트에는 특정 필터링 규칙이 있습니다.
이것이 옵션이 아닌 경우 사용할 수 있습니다iptables프로세스 소유자와 일치하는 규칙입니다. 프로세스를 완전히 격리하려면 새 사용자 계정을 만들어야 할 수도 있습니다. 그러면 규칙과 일치하는 트래픽만 캡처할 수 있습니다.
이 관련 주제에 대한 더 완전한 정보를 찾을 수 있습니다:https://askubuntu.com/questions/11709/how-can-i-capture-network-traffic-of-a-single-process
이 앱이 흥미로울 수도 있습니다.추적 덤프이전 주제에서 언급했듯이.http://mutrics.iitis.pl/tracedump