Я настроил c-icap-server и squidclamav, чтобы предоставить сетевую службу сканирования вредоносных программ для моих приложений. Однако это работает только тогда, когда я могу отправить весь контент в предварительном просмотре и явно установить EOF.
Я отслеживаю трафик с помощью:
ncat -lkv 127.0.0.1 4040 -c 'tee /dev/stderr | ncat -v 127.0.0.1 1344 | тройник /dev/stderr'
С моим клиентом, использующим обычную фрагментированную кодировку....
Ncat: версия 7.80 ( https://nmap.org/ncat )
ПАРАМЕТРЫ icap://127.0.0.1/squidclamav ICAP/1.0
Хост: 127.0.0.1
Агент пользователя: colin-529fd716d560d2cd0b920629638f3161
Инкапсулированный: нулевое тело = 0
Ncat: подключен к 127.0.0.1:1344.
ICAP/1.0 200 ОК
Методы: RESPMOD, REQMOD
Сервис: сервер C-ICAP/0.5.3 - сервис SquidClamav/Антивирус
ISTag: CI0001-1-squidclamav-10
Трансфер-Предварительный просмотр: *
Опции-TTL: 3600
Дата: ср, 01 декабря 2021 г., 14:47:20 по Гринвичу
Просмотр: 1024
Разрешить: 204
X-Include: X-Client-IP, X-Server-IP, X-Authenticated-User, X-Authenticated-Groups
Инкапсулированный: нулевое тело = 0
RESPMOD icap://127.0.0.1/squidclamav ICAP/1.0
Хост: 127.0.0.1
Агент пользователя: colin-529fd716d560d2cd0b920629638f3161
Разрешить: 204
Просмотр: 69
Инкапсулированный: res-hdr=0, res-body=126
HTTP/1.0 200 ОК
Дата: Ср, 01 Дек 2021 14:47:20 +0000
Последнее изменение: 01 декабря 2021 г., 14:47:20 +0000
Длина контента: 69
45
(УДАЛЕНО)
0;
ICAP/1.0 408 Тайм-аут запроса
Сервер: C-ICAP/0.5.3
Подключение: близко
ISTag: CI0001-1-squidclamav-10
Ncat: отправлено 446 байт, получено 458 байт за 0,02 секунды.
Однако с явным icap EOF в предварительном просмотре...
...
Длина контента: 69
45
(отредактировано)
0; ieof
ICAP/1.0 200 ОК
Сервер: C-ICAP/0.5.3
Соединение: Keep-alive
ISTag: CI0001-1-squidclamav-10
X-Virus-ID: Eicar-Signature
X-инфекция-Найдено: Тип=0; Разрешение=2; Угроза=Эйкар-Подпись;
Инкапсулированный: res-hdr=0, res-body=418
HTTP/1.0 307 Временное перенаправление
Расположение: http://proxy.domain.dom/cgi-bin/clwarn.cgi?url=(null)&source=(null)&user=(null)&virus=stream: Eicar-Signature FOUND
Сервер: C-ICAP
Подключение: близко
Тип содержимого: текст/html
Язык содержания: en
X-Virus-ID: Eicar-Signature
X-инфекция-Найдено: Тип=0; Разрешение=2; Угроза=Эйкар-Подпись;
Через: ICAP/1.0 dev-i01-pg-av.bip (C-ICAP/0.5.3 SquidClamav/антивирусная служба)
0
Я отредактировал содержимое отправляемого файла, чтобы этот пост не вызывал предупреждений. Все окончания строки \r\n.
Тайм-аут кажется маловероятным.Я получаю такое же поведение (кроме сообщений о вирусах) с незараженным файлом.
Соединение сокета по-прежнему открывается клиентом, когда сервер возвращает ошибку 408.