Wireshark가 패킷을 캡처하지 않는 한 서버는 ping을 수행할 수 없습니다.

Wireshark가 패킷을 캡처하지 않는 한 서버는 ping을 수행할 수 없습니다.

Wireshark가 패킷을 캡처하지 않는 한 서버는 다른 서버에 ping을 보낼 수 없습니다. 그리고 프로세스가 핑 프로세스 전에 패킷을 캡처하고 있다고 생각합니다. 그런데 이 과정을 어떻게 찾을 수 있을까요?

답변1

좋아요. 나는 이 문제를 스스로 해결한다. 사실은 내 서버로 보내는 패킷의 IP 주소는 정확하지만 MAC 주소가 잘못되었다는 것입니다. 따라서 wiredshark가 꺼진 경우 네트워크 인터페이스 카드(NIC)가 이를 직접 삭제합니다. 그러나 Wiredshark가 켜져 있으면 패킷을 캡처하고 MAC 주소를 올바른 주소로 수정합니다.

답변2

Windows 7 시스템(Enterprise, SP1)에서 이더넷 대상 장치를 ping하는 동안 동일한 문제가 발생합니다. 내 구성에는 2개의 USB2Ethernet 어댑터가 있고 Windows의 이더넷 인터페이스는 어댑터 드라이버에서 제공됩니다. 이 하드웨어 구성은 확실히 작동합니다(Linux에서 핑할 때 작동함). 하지만 Windows에서는 그렇지 않습니다.

안타깝게도 귀하의 답변으로는 문제의 근본 원인이 명확하지 않습니다. ICMP 응답에 잘못된 MAC 주소가 있다는 의미라면 문제는 그것이 실제로 잘못된 이유입니다. 기성 소프트웨어(OS와 함께 제공되는 표준 도구)를 사용하고 직접 만든 ICMP 요청/응답이 없는 경우 잘못된 MAC 주소의 루트가 무엇인지에 대한 질문은 여전히 ​​열려 있습니다. 문제? TCP/IP 스택(ICMP 구현의 일부)은 AFAIU에서 먼저 MAC 주소를 검색합니다. ARP 브로드캐스트 요청을 통해 목적지 MAC 주소를 선택합니다. 주어진 응답을 기반으로 합니다.

어쨌든 대상 IP에 대한 정적 ARP 항목 설정을 시도했습니다(Windows 피어에 연결된 USB2Ethernet의 MAC 주소와 대상 이더넷 인터페이스의 MAC 주소를 모두 시도했습니다). 지금까지 행운이 없습니다.

대상 시스템(핑되는 시스템)에서 ICMP 응답이 실제로 전송되지만 Windows 시스템이 이를 필터링하는 것 같습니다.

Wireshark가 포트를 수신하면 문제가 해결되고 대상 시스템과의 네트워킹이 완벽하게 작동합니다(ICMP 및 기타 모든 프로토콜).

Wireshark가 스니핑하는 동안 이더넷 인터페이스를 가져오는 무차별 모드 및/또는 내가 알지 못하는 일부 Windows 설정/서비스와 관련이 있다고 가정합니다.

관련 정보