После обновления Avast Antivirus / MailShield отказалось соединение с сокетом Java - PullRequest
0 голосов
/ 01 апреля 2019

Со времени последнего обновления антивируса Avast я больше не могу подключаться к почтовым серверам POP3 с помощью java.net.Socket. Mozilla Thunderbird работает нормально, и я также могу подключиться с помощью PuTTY (raw, порт 110).

Подключение к другим портам, кроме 110, работает нормально. Когда выполняется следующий код:

try
{
    System.out.println("Connecting to www.google.com:80");
    java.net.Socket socket1 = new Socket("www.google.com", 80);
    System.out.println("Connected");
    socket1.close();

    System.out.println("Connecting to pop01.binero.se:110");
    java.net.Socket socket2 = new Socket("pop01.binero.se", 110);
    System.out.println("Connected");
    socket2.close();
}
catch(Exception ex)
{
    ex.printStackTrace();
}

выводит:

Connecting to www.google.com:80
Connected
Connecting to pop01.binero.se:110
java.net.ConnectException: Connection refused: connect
        at java.base/java.net.PlainSocketImpl.connect0(Native Method)
        at java.base/java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:101)
        at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:399)
        at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:242)
        at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:224)
        at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:403)
        at java.base/java.net.Socket.connect(Socket.java:591)
        at java.base/java.net.Socket.connect(Socket.java:540)
        at java.base/java.net.Socket.<init>(Socket.java:436)
        at java.base/java.net.Socket.<init>(Socket.java:213)
        at SocketTest.main(SocketTest.java:15)

Если я отключу Avast MailShield для входящей почты, я могу подключиться, используя приведенный выше код. Насколько я знаю, MailShield перехватывает TCP-соединение от почтового клиента и сканирует все почтовые вложения. Если он находит вирус, он добавляет текст предупреждения к теме письма.

Чего я не понимаю, так это как он перехватывает TCP-соединение, как он различает мою программу, Thunderbird или PuTTY и почему он блокирует только мою программу.

Я хотел бы оставить MailShield активированным для Thunderbird и либо отключить его для моей собственной программы, либо заставить Avast распознать мою программу как действительный почтовый клиент и пропустить ее.

1 Ответ

0 голосов
/ 01 апреля 2019

Обычно окно обновления обновляет путь JDK. Вам нужно перенастроить путь JDK Как установить java_home в Windows 7?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...