Приглашение ко входу в систему Telnet, очень медленное на Статическом IP только, возможной проблеме rDNS?

С zsh:

mv ~/Downloads/*(.om[1,2]) .

(...) часть называют globbing спецификаторами, одной из уничтожающих функций zsh. Каждый спецификатор (обычно отдельные символы) позволяет фильтровать подобранные записи на основе атрибутов файлов (тип, размер, время...), изменять порядок, в котором они расширены или изменяют, как они расширены.

Выше, мы имеем:

  • . (точка): выберите регулярные файлы только (не каталоги, символьные ссылки...)
  • om: закажите список ко времени изменения.
  • [1,2]: выберите только первые две записи.

Также обратите внимание, что команда перестанет работать, если там не будет идти ни в какое сравнение (куда другие оболочки могли случайно переместить неправильный файл/dir).

1
16.11.2013, 00:11
2 ответа

Моя напыщенная речь telnet

В целом я советовал бы Вам не использовать telnet, но использовать ssh вместо этого. Telnet является ответственностью безопасности, которую никто не должен использовать в этот день и возраст. См. эту статью для демонстрации того, как кто-то может легко осуществить сниффинг пакетов telnet, поскольку они пересекают сеть с помощью wireshark и получают доступ к учетным данным. Th e статья назван: Сниффинг Telnet Используя Wireshark. Вот снимок экрана попытки входа в систему с помощью telnet:

ss of wireshark sniffing telnet

Устранение Вашей проблемы

Однако, если необходимо абсолютно использовать telnet затем я запустил бы путем диагностирования telnet команда Вы используете с инструментом, strace.

Пример

Для демонстрации проблемы, Вы в конечном счете испытываете, я изменил мой /etc/resolv.conf файл так, чтобы был поддельный сервер DNS в соединении. Это вызвало бы замедление, которое в конечном счете испытывал OP.

# /etc/resolv.conf
# Generated by NetworkManager
domain mydom.net.
search mydom.net.
nameserver 1.2.3.4
nameserver 192.168.1.101

Я затем работал telnet как так:

$ strace -T telnet skinner

Этот раздел вывода показывает то, что занимает много времени:

...
socket(PF_INET, SOCK_DGRAM|SOCK_NONBLOCK, IPPROTO_IP) = 3 <0.000021>
connect(3, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("1.2.3.4")}, 16) = 0 <0.000023>
poll([{fd=3, events=POLLOUT}], 1, 0)    = 1 ([{fd=3, revents=POLLOUT}]) <0.000012>
sendto(3, "\275N\1\0\0\1\0\0\0\0\0\0\7grinchy\5bubba\3net\0\0"..., 35, MSG_NOSIGNAL, NULL, 0) = 35 <0.000073>
poll([{fd=3, events=POLLIN|POLLOUT}], 1, 5000) = 1 ([{fd=3, revents=POLLOUT}]) <0.000012>
sendto(3, "\373\262\1\0\0\1\0\0\0\0\0\0\7grinchy\5bubba\3net\0\0"..., 35, MSG_NOSIGNAL, NULL, 0) = 35 <0.000027>
poll([{fd=3, events=POLLIN}], 1, 4999)  = 0 (Timeout) <5.004038>
...

Вышеупомянутое poll это испытало "Тайм-аут", был наш запрос DNS серверу 1.2.3.4 на порте 53. Мы видим, когда мы используем -T переключатель, что, этот вызов функции занял ~5 секунд, пока он не испытал таймаут.

Мы можем также подтвердить отрезок времени с помощью time управляйте как так:

$ time telnet skinner
Trying 192.168.1.3...
telnet: connect to address 192.168.1.3: Connection refused

real    0m10.030s
user    0m0.001s
sys 0m0.003s

Используя корректный сервер DNS

Включение корректного сервера DNS в /etc/resolv.conf, и telnet теперь намного более производительно.

$ strace -T telnet skinner
...
connect(3, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.168.1.101")}, 16) = 0 <0.000018>
poll([{fd=3, events=POLLOUT}], 1, 0)    = 1 ([{fd=3, revents=POLLOUT}]) <0.000010>
sendto(3, "D\363\1\0\0\1\0\0\0\0\0\0\7grinchy\5mydom\3net\0\0"..., 35, MSG_NOSIGNAL, NULL, 0) = 35 <0.000054>
poll([{fd=3, events=POLLIN|POLLOUT}], 1, 5000) = 1 ([{fd=3, revents=POLLOUT}]) <0.000009>
sendto(3, "s\342\1\0\0\1\0\0\0\0\0\0\7grinchy\5mydom\3net\0\0"..., 35, MSG_NOSIGNAL, NULL, 0) = 35 <0.000021>
poll([{fd=3, events=POLLIN}], 1, 4999)  = 1 ([{fd=3, revents=POLLIN}]) <0.005300>
ioctl(3, FIONREAD, [84])                = 0 <0.000024>
recvfrom(3, "D\363\205\200\0\1\0\1\0\1\0\1\7grinchy\5mydom\3net\0\0"..., 2048, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.168.1.101")}, [16]) = 84 <0.000016>
poll([{fd=3, events=POLLIN}], 1, 4994)  = 1 ([{fd=3, revents=POLLIN}]) <0.003688>
...

Синхронизация его использование time также показывает то же:

$ time telnet skinner
Trying 192.168.1.3...
telnet: connect to address 192.168.1.3: Connection refused

real    0m0.009s
user    0m0.000s
sys 0m0.002s
2
27.01.2020, 23:39
  • 1
    да, я был бы, если я мог. Мы разрабатываем программное обеспечение для лаборатории тестирования, которая использует telnet внутренне. –  some1 16.11.2013, 00:21

Я использовал 4.2.2.1 и 4.2.2.2 для статически присвоенных серверов DNS - я переключил их на 192.168.0.1 для маршрутизатора, и он решил вопрос.

0
27.01.2020, 23:39
  • 1
    Это, вероятно, пыталось соединиться с теми серверами DNS и таймаутом. –  slm♦ 16.11.2013, 00:26

Теги

Похожие вопросы