Как настроить clamav для подключения с помощью сокета Java
Я пытаюсь подключить сокет java к антивирусу с открытым исходным кодом clamav на CentOS, но всегда получаю java.net.ConnectException: соединение отклонено (соединение отклонено). При попытке сканирования любого файла на терминале clamav работает нормально. Процесс clamd также прослушивает порт 3110. Пожалуйста, помогите мне разобраться с этой проблемой.
Конфигурация Clamav, как показано ниже.
LogFile /var/log/clamd.scan LogSyslog yes PidFile /var/run/clamd.scan/clamd.pid TemporaryDirectory / var / tmp LocalSocket /var/run/clamd.scan/clamd.sock TCPSocket 3310 TCPAddr 172.24.123.216
Java-код, как показано ниже
public class SocketTest {
public static void main(String[] args) throws UnknownHostException {
InetAddress ip = InetAddress.getByName("172.24.123.216");
try (Socket socket = new Socket(ip, 3110); OutputStream outs = socket.getOutputStream()) {
socket.setSoTimeout(5000);
System.out.println(socket.isConnected());
outs.write("PING".getBytes(StandardCharsets.US_ASCII));
outs.flush();
InputStream inputStream = socket.getInputStream();
try(java.util.Scanner s = new java.util.Scanner(inputStream)) {
s.useDelimiter("\\A");
if(s.hasNext()){
System.out.println(s.next());
}else{
System.out.println("No output");
}
}
} catch (IOException e) {
e.printStackTrace();
}
}}
Состояние сети на терминале, как показано ниже
Статус услуги ClamD, как показано ниже
Отчет о сканировании терминала
Исключение при подключении из Java