![가능합니까? 그렇다면 Linux 네트워크 스택을 통해 패킷을 단계별로 실행하는 방법은 무엇입니까?](https://linux55.com/image/174589/%EA%B0%80%EB%8A%A5%ED%95%A9%EB%8B%88%EA%B9%8C%3F%20%EA%B7%B8%EB%A0%87%EB%8B%A4%EB%A9%B4%20Linux%20%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC%20%EC%8A%A4%ED%83%9D%EC%9D%84%20%ED%86%B5%ED%95%B4%20%ED%8C%A8%ED%82%B7%EC%9D%84%20%EB%8B%A8%EA%B3%84%EB%B3%84%EB%A1%9C%20%EC%8B%A4%ED%96%89%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
Linux 네트워킹 스택의 각 단계를 더 잘 이해하고 특정 구성 값이 동작을 어떻게 변경하는지 조사하는 방법을 찾고 있습니다. 대기열, iptables
체인 등이 있다는 것을 알고 있습니다 . 패킷이 대기열에 들어가거나 전송될 때 로그 등을 출력하고 싶습니다.
가능하다면 Linux 네트워크 스택을 통해 패킷을 단계별로 실행하는 방법이 있습니까?
답변1
패킷의 전체 경로를 설명할 수 있는 도구가 있는지 의심됩니다. 너무 다양한 구성 요소가 관련되어 있다고 생각합니다.
TRACE
그러나 패킷 필터를 사용하면 체인 의 대상 으로 패킷(너무 많지는 않음)을 보낼 수 있습니다 . raw
을 참조하세요 . man iptables-extensions
이는 각 결정에 대해 커널 링 버퍼( )에 메시지를 기록하여 dmesg
규칙이 일치했는지 여부와 패킷의 운명을 결정한 체인 정책이 무엇인지 보여줍니다.