
Я пытаюсь придумать команду, с помощью которой я смогу сканировать файл, передавая его через сетевой интерфейс.
Я попробовал следующее:
telnet clamd.server.com 3310
STREAM
PORT <some random port>
Затем на другой консоли
tar -czf - <some temporary files> | nc clamd.server.com <some random port>
Проблема в том, что tar
команда не завершается после завершения потоковой передачи и остается там неопределенно долго или до тех пор, пока команда не будет отменена.
Есть ли способ обойти это?
решение1
clamd-stream-cl Это модифицированная версия clamdscan. Она может передавать файл в экземпляр clamd, работающий на другом хосте, через TCP-сокет. ->http://sourceforge.net/projects/clamd-stream-cl/
решение2
Добавление -N
к nc
команде решило проблему.
так
tar -czf - <some temporary files> | nc -N clamd.server.com <some random port>