Существует несколько утилит ping, доступных на Linux, даже на Ubuntu. По умолчанию (единственный в основной Ubuntu) от iputils (iputils-ping
). Возможные статусы возврата (для также ping
или сопутствующая утилита IPv6 ping6
), с iputils 20100418:
-V
опция.ping
не может отбросить полномочия (этого не должно происходить).ping6 -N
.-w
или -W
опция и количество полученных ответов были меньшими, чем количество отправленных запросов.Если необходимо сделать более прекрасные различия, необходимо будет проанализировать вывод. Утилита использует stderr для фатальных ошибок и некоторых предупреждений и stdout для различных отчетов о состоянии и информационных сообщений. Эти сообщения предназначены для потребления человеком, не ожидайте быть легко анализировать их, ожидать должными быть обновлять Ваш синтаксический анализатор каждый раз, когда версия выходит, или Вы хотите работать над другой платформой и не забыть устанавливать LC_MESSAGES=C
в случае, если ping когда-либо переводится (это в настоящее время не). Существует очень немного случаев использования, которые требуют парсинга вывода — обычно все, что необходимо знать, 2 = отказавший поиск DNS, 1 = хост, не отвечающий, 0 = успех.
На веб-сайте средства отслеживания ошибки Debian существует отчет об ошибках: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=679911
Это также указывает обходное решение:
указать -o tls=no
как опция на командной строке.
Спасибо @Manolo Díaz на debian.org.
Также обходное решение, сделайте это, если оно требуется, чтобы отправлять от smtp.gmail.com
:
/usr/bin/sendemail on line 1907: 'SSLv3 TLSv1' => 'SSLv3'
как временное решение.
if (! IO::Socket::SSL->start_SSL($SERVER, SSL_version => 'SSLv3')) {<br>
продолжает работать debian хрипящий с sendEmail 1.56-2 и libio-socket-ssl-perl 1.76-2 и
if (! IO::Socket::SSL->start_SSL($SERVER, SSL_version => 'SSLv23:!SSLv2')) {<br>
работы с …/IO/Socket/SSL.pm: 1.74 sendEmail: 1.56 в Ubuntu.
Это было проблемой в человечности и debian repos больше года.
Более легкое обходное решение:
Замена:
m{^(!?)(?:(SSL(?:v2|v3|v23|v2/3))|(TLSv1[12]?))$}i
С:
m{^(!?)(?:(SSL(?:v2|v3|v23|v2/3))|(TLSv1[12]?))}i
Фактически, просто возьмите значение по умолчанию (удалите второй параметр). См. https://metacpan.org/pod/IO::Socket::SSL (поиск SSL_version). По умолчанию используется SSLv23:! SSLv3:! SSLv2.
Я изменил строку 1906 в версии 1.56, чтобы читать
# if (! IO::Socket::SSL->start_SSL($SERVER, SSL_version => 'SSLv3 TLSv1')) {
if (! IO::Socket::SSL->start_SSL($SERVER)) {
(просто комментируя исходную строку)
Чтобы исправить это, я отредактировал Sendremail-V1.55 в строке 1884, чтобы изменить «SSLV3 TLSV1» на «SSLV3».
osx 10.10.1
Если вы все еще получаете ошибку сертификата после исправления версии SSL, как показано выше , вам необходимо отключить проверку сертификатов:
if (! IO::Socket::SSL->start_SSL($SERVER, SSL_version => 'SSLv23:!SSLv2', SSL_verify_mode => 0)) {