50 lines
1.2 KiB
Markdown
50 lines
1.2 KiB
Markdown
#linux
|
|
|
|
Бывало такое, что сервис не отвечает, и непонятно, слушает ли он вообще нужный порт? Давайте разберёмся, как это проверить.
|
|
|
|
📡 Способы проверки:
|
|
|
|
1️⃣ ss (современный вариант netstat):
|
|
|
|
```bash
|
|
ss -tulnp
|
|
```
|
|
|
|
- -t — TCP;
|
|
- -u — UDP;
|
|
- -l — только слушающие сокеты;
|
|
- -n — не резолвить имена;
|
|
- -p — показать процессы.
|
|
|
|
2️⃣ lsof (список открытых файлов, включая порты):
|
|
|
|
```sh
|
|
lsof -i :80
|
|
```
|
|
|
|
Покажет, какой процесс слушает 80-й порт.
|
|
|
|
3️⃣ netstat (старый, но работает):
|
|
|
|
netstat -tulnp
|
|
|
|
4️⃣ Сокетный тест с nc:
|
|
|
|
```sh
|
|
nc -zv 127.0.0.1 80
|
|
```
|
|
|
|
Если порт открыт, увидим сообщение succeeded.
|
|
|
|
💡 Пример реального кейса: Apache не запускается, потому что другой процесс уже занял порт 80. Как быстро его прибить?
|
|
|
|
```sh
|
|
fuser -k 80/tcp
|
|
```
|
|
|
|
или
|
|
|
|
```sh
|
|
kill $(lsof -t -i :80)
|
|
```
|