Что использует этот сетевой сокет?

В режиме вставки курсор между символами, или перед первым или после последнего знака. В нормальном режиме курсор по символу (новые строки не являются символами с этой целью). Это несколько необычно: большинство редакторов всегда помещает курсор между символами и имеет большую часть действия команд на символе после (не, строго говоря, под) курсор. Это, возможно, частично вследствие того, что перед графический интерфейсами пользователя, текстовые терминалы всегда показывали курсор на символе (подчеркивание или блок, возможно, мигая). Эта абстракция перестала работать в режиме вставки, потому что это требует еще одного положения (сообщения по сравнению с заборами).

Переключение между режимами должно переместить курсор полусимволом, так сказать. i управляйте оставленными перемещениями, для помещения курсора перед символом, это было закончено. a управляйте правом перемещений. Выход из режима вставки (путем нажатия Esc) перемещает курсор, оставленный, если возможный (если это в начале строки, он переместил право вместо этого).

Я предполагаю, что вид поведения Esc имеет смысл. Часто, Вы вводите в конце строки, и там Esc может только пойти покинутый. Таким образом, общее поведение является наиболее распространенным поведением.

Думайте о символе под курсором как последний интересный символ, и команды вставки как a. Можно повторить Esc, не перемещая курсор, за исключением того, что Вы будете ударены одно право положения, если Вы запустите в начале непустой строки.

18
09.01.2011, 19:44
7 ответов

Можно сделать

lsof -n | grep -i "TCP\|UDP" | grep -v "ESTABLISHED\|CLOSE_WAIT"

для наблюдения всех портов прослушивания, но долларов к пончикам, которые выполняет ntpd:

service ntpd status

И что касается, "Что действительно снабжает сокетом используемый" средний? Если я могу быть прощен за то, что я смягчил некоторые морщины (и за очень простое объяснение, извинения большей части из этого является коррективным для Вас)... TCP/IP (язык Интернета) указывает, что каждый компьютер имеет IP-адрес, который однозначно определяет тот компьютер в Интернете. Кроме того, существует 65 000 пронумерованных портов на каждом IP-адресе, который может быть подключен с.

Когда Вы хотите соединиться с веб-сервером, Вы открываете сайт в своем браузере, но оборудование внизу на самом деле соединяет Вас для портирования 80 на IP веб-сервера. Демон веб-сервера (программа, прислушивающаяся к соединениям с портом 80), использует "сокет" для содержания открытый что порт, резервируя его для себя. Только одна программа может использовать тот же порт за один раз.

Так как у Вас было выполнение ntpd, оно использовало тот порт. 'ntpdate' пытался получить доступ к тому порту, но так как он уже считался открытый, Вы уже получили 'сокет используемая' ошибка.

Править
Измененный для составления UDP также

20
27.01.2020, 19:45
  • 1
    lsof качает мой мир! grep на IPv4 также для нахождения различных основанных на IP вещей. –  geoffc 10.08.2010, 22:48
  • 2
    "извинения всем, кто уже знал это" - не приносят извинения. Одна цель этого сайта состоит в том, чтобы предоставить хорошие ответы на общие вопросы. Цель этой ранней беты состоит в том, чтобы обеспечить содержание. –  Stefan Lasiewski 11.08.2010, 00:06
  • 3
    , который я знаю, но я хотел удостовериться человек, спрашивающий, знал, что я не пытался снисходительно разговаривать с ними. –  Matt Simmons 11.08.2010, 01:56
  • 4
    , который я задал вопросу, и Вы не снисходительно разговаривали со мной. Я также знаю ответ, но я полагаю, что это - хороший вопрос для беты. И Ваш ответ был намного лучше затем что-либо, что я запишу ;) –  Stefan Lasiewski 11.08.2010, 21:15
  • 5
    @MattSimmons там нет Isof команда в моем CentOS 7. –  three-blocks 02.07.2017, 16:31

Можно также использовать netstat для поиска открытых сокетов - это намного более чисто, чем использование lsof, как другие плакаты предположили. Попробуйте эту командную строку как корень

netstat -lp -u -t

просмотреть все соединения слушания, включая их связанный pid и программы.-l параметр - то, что указывает, что соединения слушания,-p указывает, что Вы хотите видеть PID/имя и-t, и-u говорят netstat о желании только TCP и соединений UDP (IPv4 и IPv6).

Если Вы хотите видеть числовой порт и имена хостов (т.е. не разрешенный в случае хостов, и не преобразованный для обслуживания имен в случае портов), можно добавить -n к командной строке выше.

Править: Это работает над Linux - я не знаю, как хорошо он работает над BSD, поскольку у меня нет основанных на BSD полей вокруг.

10
27.01.2020, 19:45
  • 1
    +1: Это - единственный ответ, который на самом деле показывает процесс ntpd (который слушает на UDP по умолчанию). –  Stefan Lasiewski 10.08.2010, 23:58
  • 2
    Для людей: Ваши флаги эквивалентны netstat --listen --programs --udp --tcp –  Stefan Lasiewski 10.08.2010, 23:58
  • 3
    FreeBSD не поддерживает '-p' ("Показывают Программы"), который является, почему люди используют LSOF. Это также не поддерживает-l ("Показывают Сокеты Слушания"), флаги, но я думаю, что можно сделать это с | grep LISTEN, но это исключает соединения UDP. Но иначе, я думаю, что эквивалентные флаги на FreeBSD: netstat -p udp -p tcp -a, но netstat -a могло бы быть более простым. –  Stefan Lasiewski 11.08.2010, 00:05
  • 4
    @Stefan: Мой ответ покажет сокеты UDP также. –  kbyrd 11.08.2010, 01:34
  • 5
    @kbyrd: Интересный. Это не показывает пакеты UDP для меня. См. мой комментарий к своему сообщению. –  Stefan Lasiewski 11.08.2010, 01:52

Как корень, сделайте это:

lsof | grep IPv4 | grep LISTEN

Это покажет Вам всем процессы, которые слушают на сокетах IPv4. Можно хотеть добавить -b предотвратить lsof от выполнения некоторых вещей, которые могли бы заблокировать его. Если Вы сделаете это, то Вы, вероятно, также захотите перенаправить stderr кому: /dev/null.

1
27.01.2020, 19:45
  • 1
    Для меня это, кажется, не показывает udp пакеты. Я тестирую на поле Ubuntu, которое выполняет rsyslogd, слушая на порте, 514/udp. –  Stefan Lasiewski 11.08.2010, 01:51
  • 2
    я должен сделать sudo lsof |grep UDP видеть пакеты UDP. –  Stefan Lasiewski 11.08.2010, 01:53

Можно использовать lsof найти, какое приложение использует этот сокет.

1
27.01.2020, 19:45

На FreeBSD можно также использовать sockstat в случае, если lsof не работает на Вас (например, в виртуализированных системах, которые не имеют/dev/mem по любой причине). Получить список всех программ со слушанием сокеты IPv4:

sockstat -l4
2
27.01.2020, 19:45

Играть с этим трех в одном на OS X 10.9.5:

Sudo LSOF | grep \ IPv | Сортировать ; Чисто ; sudo lsof -u; Чисто ; Sudo Netstat -a

0
27.01.2020, 19:45

Во FreeBSD используйте переключатель -u , чтобы ntpdate вместо этого использует непривилегированный порт.

Например: ntpdate -v -b -u 0.freebsd.pool.ntp.org

Используйте man ntpdate , чтобы узнать, что -v и ] -b делает.

0
27.01.2020, 19:45

Теги

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