TCPDUMP를 사용하여 수집 된 수집 된 패킷 덤프를 통해 연결을 집계합니다. 내 코드는 Ruby에있다. 코드는 4- 튜플 (SrcIP, SrcPort, DstIP, DstPort)을 사용하는 연결을 구별합니다. 이제 동일한 IP와 동일한 포트를 사용하는 동일한 시스템간에 연결하는 경우 다음 방법으로 연결을 차별화합니다. 1. 연결 사이의 시간이 2Hrs 이상이되면 새로운 연결 2. FIN 또는 RST를 이미 보았 으면 새 패킷은 새 연결에서 나온 것입니다. 3. SYN의 수 2 개 이상 (각 방향으로 1 개)이면 연결은 새로운 연결입니다.Seq No, Ack No 및/또는 Datasize를 사용하여 TCP 연결을 구별합니다.
내가 해결할 수없는 상황은 다음과 같습니다. 2Hrs 내에 동일한 두 튜플 (동일한 튜플을 사용하는) 간의 새 연결이 발생하고 TCPDUMP가 이전의 RST 또는 FIN 패킷을 삭제하고 2 또는 SYN 두 연결의 패킷. 이 경우 위에 설정된 조건 중 어느 것도 작동하지 않습니다. 그리고 남아있는 유일한 정보 집합은 새로운 패킷 집합, Seq Nos, Ack Nos 및 데이터 크기의 시간입니다. 이 정보를 사용하면 연결이 새로운 것이거나 오래된 것일 수도 있습니다.
시퀀스 No 또는 SeqNo와 AckNo 사이에 패턴이 있는지 확인하려했지만 아무 것도 명확하지 않은 것으로 보입니다.