PCAP: Improve TCP session logging

This commit is contained in:
Sepalani
2021-02-11 16:13:41 +04:00
parent 38935f2e4e
commit fabf6f51cd
3 changed files with 22 additions and 4 deletions

View File

@ -24,6 +24,10 @@ namespace Core
NetworkCaptureLogger::NetworkCaptureLogger() = default;
NetworkCaptureLogger::~NetworkCaptureLogger() = default;
void DummyNetworkCaptureLogger::OnNewSocket(s32 socket)
{
}
void DummyNetworkCaptureLogger::LogSSLRead(const void* data, std::size_t length, s32 socket)
{
}
@ -81,6 +85,12 @@ PCAPSSLCaptureLogger::PCAPSSLCaptureLogger()
PCAPSSLCaptureLogger::~PCAPSSLCaptureLogger() = default;
void PCAPSSLCaptureLogger::OnNewSocket(s32 socket)
{
m_read_sequence_number[socket] = 0;
m_write_sequence_number[socket] = 0;
}
PCAPSSLCaptureLogger::ErrorState PCAPSSLCaptureLogger::SaveState() const
{
return {
@ -193,8 +203,8 @@ void PCAPSSLCaptureLogger::LogIPv4(LogType log_type, const u8* data, u16 length,
if (socket_type == SOCK_STREAM)
{
u32& sequence_number =
(log_type == LogType::Read) ? m_read_sequence_number : m_write_sequence_number;
u32& sequence_number = (log_type == LogType::Read) ? m_read_sequence_number[socket] :
m_write_sequence_number[socket];
Common::TCPHeader tcp_header(from, to, sequence_number, data, length);
sequence_number += static_cast<u32>(length);
Common::IPv4Header ip_header(tcp_header.Size() + length, tcp_header.IPProto(), from, to);