Для цього можна використовувати підтримку iptables в ядрі Linux. Перевага полягає в тому, що воно не потребує додаткового програмного забезпечення, щоб бути помірно корисним. Мінусом є те, що для налаштування потрібні кореневі привілеї (але, враховуючи, що ви говорите про порт 443, який є пільговим портом, вам, ймовірно, потрібні привілеї root з більшістю рішень).
Додайте правило iptables таким чином:
sudo iptables -I INPUT -p tcp --dport 443 --syn -j LOG --log-prefix "HTTPS SYN: "
(Відрегулюйте -I INPUTдеталь відповідно до вашого смаку.)
Коли це правило запускається, ядро буде випускати запис в syslog. Наприклад, за допомогою правила введення запис у журналі може виглядати приблизно так:
5 грудня 09:10:56 ядро імені хоста: [1023963.185332] HTTPS SYN: IN = ifX OUT = MAC = 80: 80: 80: 80: 80: 80: 80: 80: 80: 80: 80: 80: 08: 00 SRC = ABCD DST = WXYZ LEN = 52 TOS = 0x00 PREC = 0x20 TTL = 119 ID = 11901 DF PROTO = TCP SPT = 37287 DPT = 443 WINDOW = 8192 RES = 0x00 SYN URGP = 0
Потім ви можете скористатися будь-яким інструментом моніторингу запущених верстатів, щоб зробити щось корисне з цією інформацією. Якщо ваша підтримка syslog підтримує це, ви навіть можете направити їх в окремий файл журналу, ефективно виконуючи вашу вимогу записувати дані про з'єднання у файл, позначений часом до другого, без додаткового програмного забезпечення.
Зауважте, що LOGціль - це ціль, що не закінчується, а це означає, що будь-які правила, що слідують за нею, все ще будуть оцінені, і пакет не буде відхилений або прийнятий самим правилом LOG. Це робить LOGціль корисною також для налагодження правил брандмауера.
Щоб уникнути затоплення журналу, розгляньте можливість використання limitмодуля разом із цим. Докладні відомості див. На головній сторінці iptables (8).