Linux 커널에 패킷이 저장되어 있나요?

Linux 커널에 패킷이 저장되어 있나요?

저는 DNS 확인을 위한 타사 프로그램(내장형 솔루션)을 작업해 왔으며 DNS 쿼리를 업스트림 서버로 보내는 코드에서는 connect()와 send()를 사용했습니다.

send()는 주어진 바이트 수(즉, -1 또는 errno가 설정되지 않음)를 반환하지만 Wireshark에서는 DNS 쿼리를 볼 수 없습니다. 따라서 DNS 프로그램은 패킷이 전송되었지만 응답을 받지 못했다고 생각하고 패킷의 시간을 측정합니다. 그러나 후속 DNS 쿼리는 문제를 일으키지 않습니다.

커널이 이 패킷을 보유하고 있습니까? 그렇다면 왜 이 패킷을 보유하고 있는지 어떻게 알 수 있습니까? 이 패킷의 송신을 차단하는 규칙은 없습니다.

원격 대상에 대한 경로에 도달할 수 없다고 생각하면 커널이 패킷을 저장할 수 있다고 들었습니다. 이런 일이 발생합니까? 그렇다면 이에 대한 추가 정보를 어떻게 찾을 수 있습니까?

관련 정보