Nmap - отличный сканер портов, но иногда нужно что-то более авторитетное. Вы можете спросить у кернела, какие процессы открывают какие порты, используя утилиту netstat
:
me@myhost:~$ sudo netstat -tlnp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 1004/dnsmasq tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 380/sshd tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 822/cupsd tcp6 0 0 :::22 :::* LISTEN 380/sshd tcp6 0 0 ::1:631 :::* LISTEN 822/cupsd
Опции, которые я задал:
-t
TCP only-l
Listening ports only-n
Don't look up service and host names, just display numbers-p
Show process information (requires root privilege)В данном случае мы видим, что sshd
слушает на любом интерфейсе (0. 0.0.0
) порт 22, и cupsd
прослушивает на обратном цикле (127.0.0.1
) порт 631. Ваш выход может показать, что telnetd
имеет локальный адрес 192.168.1.1:23
, что означает, что он не будет отвечать на соединения на адаптере обратной связи по шлейфу (например вы не можете telnet 127.0.0.1
).
Есть и другие инструменты, которые будут показывать подобную информацию (например, lsof
или /proc
), но netstat наиболее широко доступен. Он даже работает на Windows (netstat -anb
). BSD netstat немного отличается: вместо этого вам придется использовать sockstat(1) для получения информации о процессе.
После того, как у вас есть идентификатор процесса и имя программы, вы можете приступить к поиску процесса и его завершению, если хотите закрыть порт. Для более точного контроля вы можете использовать брандмауэр (iptables в Linux), чтобы ограничить доступ только определенными адресами. Вам может понадобиться отключить запуск служб. Если PID "-" в Linux, то, скорее всего, это процесс ядра (это распространено, например, в NFS), так что удачи Вам в этом.
Примечание: Я сказал "авторитетный", потому что вам не мешают сетевые условия и брандмауэры. Если ты доверяешь своему компьютеру, это здорово. Однако, если вы подозреваете, что вас взломали, вы можете не доверять инструментам на вашем компьютере. Замена стандартных утилит (а иногда и системных вызовов) на те, которые скрывают определенные процессы или порты (так называемые руткиты) является стандартной практикой среди злоумышленников. Лучше всего на этом этапе сделать судебно-медицинскую копию диска и восстановить из резервной копии; затем использовать копию, чтобы определить, как они попали внутрь и закрыть ее.
.
Карта памяти SD не обязательно видна как /dev/mmcblk*
. Другая возможность - /dev/sd*
.
Имя любой из них можно найти, посмотрев на выход dmesg
. Другой способ - извлечь карту, набрать /dev
, вставить карту, повторить /dev
и найти разницу.
Попробуйте использовать командную строку в konsole:
lsblk
в которой должен быть список всех ваших жестких дисков и их разделов.