RHEL 서버에 어댑터가 설치되어 실행 중인데 어댑터가 연결된 소스에서 특정 신호 메시지가 전송되면 어댑터 연결이 끊어집니다.
소스 IP 주소에서 원시 패킷을 캡처하기 위해 이 유틸리티를 사용하고 있습니다 tcpdump
. 그러나 이를 사용할 때의 문제점은 tcpdump
내가 관심 없는 트래픽을 포함하여 소스의 모든 패킷을 지속적으로 캡처한다는 것입니다.
이로 인해 내 어댑터와 원본 서버 간의 통신에 사용되는 이 특정 포트의 원본 IP 주소에서 많은 데이터가 들어오기 때문에 엄청난 디스크 공간 활용이 발생합니다.
특정 문자열이 있는 패킷만 캡처하는 데 사용할 수 있는 방법이나 기본 Linux 유틸리티가 있습니까?이벤트 손실그러면 결국에는 이러한 메시지가 포함된 패킷만 캡처하게 되는 것인가요?
다양한 옵션을 검색했지만 tcpdump
이 유틸리티를 사용하여 원하는 결과를 얻을 수 있는 방법을 찾지 못했습니다.
답변1
"tshark"(wireshark의 일부)를 사용하고 "contains/matches" 표시 필터를 사용하여 문자열을 찾을 수 있습니다. TCP 패킷이라고 가정하면 필터는 다음과 같습니다.
tshark -Y 'tcp contains "eventLossOccurred"'
"일치"를 사용하면 Perl 정규식을 지정할 수 있습니다.
NOTE:
이는 패킷 세부 정보만 표시하며 PCAP 형식의 전체 패킷 덤프를 캡처하는 데 사용할 수 없습니다. 필요한 세부 정보를 표시하도록 tshark 옵션을 수정하세요.