LINUX.ORG.RU
решено ФорумAdmin

Как понять, какая программа (сервис) пытается законнектиться на сервер?

 , , подключение, ,


1

2

На Linux-сервере видны непрекращающиеся попытки хоста 192.168.1.95 соединиться на портах 57770 ... 57776, где-то в этом диапазоне.

На самом хосте тоже видны эти подключения, но непонятно кто их создает:

> netstat -np
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 192.168.1.95:57770      192.168.1.251:22        TIME_WAIT   -
tcp        0      0 192.168.1.95:47942      192.168.1.251:389       ESTABLISHED -
tcp        0      0 192.168.1.95:57776      192.168.1.251:22        TIME_WAIT   -
tcp        0      0 192.168.1.95:43086      192.168.1.251:5222      ESTABLISHED 2465/psi-plus
tcp        0      0 192.168.1.95:49960      192.168.1.251:389       TIME_WAIT   -
tcp        0      0 192.168.1.95:49958      192.168.1.251:389       TIME_WAIT   -
tcp        0      0 192.168.1.95:49456      192.168.1.251:749       ESTABLISHED -


Как можно выяснить, какая часть системы за это ответственна?

Дистрибутив Astra Linux (Debian 9).

★★★★★
Ответ на: комментарий от monkdt

lsof

Эта штука показывает моментальный снимок. И если в момент запуска lsof интересуемого сетевого обмена нет (а его, конечно, нет) то ничего и не увидишь.

Xintrea ★★★★★
() автор топика

1) запускай netstat от рута

2) попробуй его поймать пока оно ещё не перешло в TIME_WAIT

Как я понимаю ему отвечают reject-ом сразу и поэтому соединение долго не живёт. Зафайрволь ответы от 192.168.1.251:22 (именно входящие пакеты, исходящие не трогай, а то оно и не начнёт ничего), тогда оно будет сначала долго висеть в connecting-состоянии и будет легче поймать.

iptables --insert INPUT --source 192.168.1.251 --source-port 22 --jump DROP
firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 3)
Ответ на: комментарий от firkax

Как я понимаю ему отвечают reject-ом сразу и поэтому соединение долго не живёт. Зафайрволь ответы от 192.168.1.251:22, тогда оно будет сначала долго висеть в connecting-состоянии и будет легче поймать.

Сделал так, и поймал вот это:

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      1 192.168.1.95:58628      192.168.1.251:22        SYN_SENT    28115/ssh

Далее быстренько пока не отвалилось дал команду:
lsof -p 28115

И увидел кто инициировал соединение (это была автоматизация синхронизации на unison).

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

Эта штука показывает моментальный снимок. И если в момент запуска lsof интересуемого сетевого обмена нет (а его, конечно, нет) то ничего и не увидишь.

включить аудит системных вызовов socket() и connect() и посмотреть

ivlad ★★★★★
()
Ответ на: комментарий от ivlad

включить аудит системных вызовов socket() и connect() и посмотреть

Ну да, это так просто, настроить аудит системных вызовов, чтобы посмотреть одно событие.

Xintrea ★★★★★
() автор топика