저는 DNS 확인을 위한 타사 프로그램(내장형 솔루션)을 작업해 왔으며 DNS 쿼리를 업스트림 서버로 보내는 코드에서는 connect()와 send()를 사용했습니다.
send()는 주어진 바이트 수(즉, -1 또는 errno가 설정되지 않음)를 반환하지만 Wireshark에서는 DNS 쿼리를 볼 수 없습니다. 따라서 DNS 프로그램은 패킷이 전송되었지만 응답을 받지 못했다고 생각하고 패킷의 시간을 측정합니다. 그러나 후속 DNS 쿼리는 문제를 일으키지 않습니다.
커널이 이 패킷을 보유하고 있습니까? 그렇다면 왜 이 패킷을 보유하고 있는지 어떻게 알 수 있습니까? 이 패킷의 송신을 차단하는 규칙은 없습니다.
원격 대상에 대한 경로에 도달할 수 없다고 생각하면 커널이 패킷을 저장할 수 있다고 들었습니다. 이런 일이 발생합니까? 그렇다면 이에 대한 추가 정보를 어떻게 찾을 수 있습니까?