diff --git a/.gitignore b/.gitignore index c34419c..d58c97f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,6 @@ src/main/resources/static/* *.pcap -docker/postgres_data +data HELP.md .gradle diff --git a/src/main/java/ru/serega6531/packmate/pcap/LivePcapWorker.java b/src/main/java/ru/serega6531/packmate/pcap/LivePcapWorker.java index f225851..e9cc6f2 100644 --- a/src/main/java/ru/serega6531/packmate/pcap/LivePcapWorker.java +++ b/src/main/java/ru/serega6531/packmate/pcap/LivePcapWorker.java @@ -27,6 +27,7 @@ public class LivePcapWorker extends AbstractPcapWorker { device = Pcaps.getDevByName(interfaceName); if(device == null) { + log.info("Existing devices: {}", Pcaps.findAllDevs().stream().map(PcapNetworkInterface::getName).toList()); throw new IllegalArgumentException("Device " + interfaceName + " does not exist"); } diff --git a/src/main/java/ru/serega6531/packmate/service/optimization/HttpChunksProcessor.java b/src/main/java/ru/serega6531/packmate/service/optimization/HttpChunksProcessor.java index 3355144..99e91f8 100644 --- a/src/main/java/ru/serega6531/packmate/service/optimization/HttpChunksProcessor.java +++ b/src/main/java/ru/serega6531/packmate/service/optimization/HttpChunksProcessor.java @@ -19,6 +19,7 @@ import java.util.List; @RequiredArgsConstructor public class HttpChunksProcessor { + private static final String CHUNKED_HTTP_HEADER = "transfer-encoding: chunked\r\n"; private final List packets; private int position; @@ -38,7 +39,7 @@ public class HttpChunksProcessor { if (http && contentPos != -1) { // начало body String headers = content.substring(0, contentPos + 2); // захватываем первые \r\n - boolean chunked = headers.contains("Transfer-Encoding: chunked\r\n"); + boolean chunked = headers.toLowerCase().contains(CHUNKED_HTTP_HEADER); if (chunked) { chunkStarted = true; start = position; diff --git a/src/main/java/ru/serega6531/packmate/service/optimization/HttpGzipProcessor.java b/src/main/java/ru/serega6531/packmate/service/optimization/HttpGzipProcessor.java index 7b868eb..fd02180 100644 --- a/src/main/java/ru/serega6531/packmate/service/optimization/HttpGzipProcessor.java +++ b/src/main/java/ru/serega6531/packmate/service/optimization/HttpGzipProcessor.java @@ -20,6 +20,7 @@ import java.util.zip.ZipException; @RequiredArgsConstructor public class HttpGzipProcessor { + private static final String GZIP_HTTP_HEADER = "content-encoding: gzip\r\n"; private static final byte[] GZIP_HEADER = {0x1f, (byte) 0x8b, 0x08}; private final List packets; @@ -54,7 +55,7 @@ public class HttpGzipProcessor { if (contentPos != -1) { // начало body String headers = content.substring(0, contentPos + 2); // захватываем первые \r\n - boolean gziped = headers.contains("Content-Encoding: gzip\r\n"); + boolean gziped = headers.toLowerCase().contains(GZIP_HTTP_HEADER); if (gziped) { gzipStarted = true; gzipStartPacket = position; diff --git a/src/main/java/ru/serega6531/packmate/service/optimization/HttpUrldecodeProcessor.java b/src/main/java/ru/serega6531/packmate/service/optimization/HttpUrldecodeProcessor.java index 56d61ca..90810ae 100644 --- a/src/main/java/ru/serega6531/packmate/service/optimization/HttpUrldecodeProcessor.java +++ b/src/main/java/ru/serega6531/packmate/service/optimization/HttpUrldecodeProcessor.java @@ -31,7 +31,7 @@ public class HttpUrldecodeProcessor { if (httpStarted) { try { - content = URLDecoder.decode(content, StandardCharsets.UTF_8.toString()); + content = URLDecoder.decode(content, StandardCharsets.UTF_8); packet.setContent(content.getBytes()); } catch (IllegalArgumentException e) { log.warn("urldecode", e);