1

Я установил nc на некоторых компьютерах в моем офисе. Они подключаются к нашему серверу следующим образом:

nc 192.168.1.2 3291 -e cmd

Кто-нибудь знает, как перечислить входящие попытки подключения, а не принимать? Не:

nc -l 192.168.1.2 3291

РЕДАКТИРОВАТЬ: Листинг часть решена с использованием tcpdump. Оставшаяся часть вопроса:

Как принять соединение в nc только с определенного хоста? то есть 192.168.1.6 , 192.168.1.7 и 192.168.1.8 все просят соединиться, и мы только хотим поговорить с 192.168.1.7 . Есть ли способ сделать это с помощью nc?

2 ответа2

2

Вы хотите видеть клиентов, которые пытаются подключиться в реальном времени, верно?

Вы можете использовать tcpdump для этого.

Например, чтобы посмотреть, что происходит на TCP-порту 3291, вы можете выполнить tcpdump -i any tcp port 3291 . Затем вы можете в реальном времени просматривать все пакеты, поступающие на этот порт.

0

Это Linux (и Win, и Linux помечены)?

У вас может быть iptables как лог, так и фильтр соединений. Это очень плохой пример. Если вы хотите это сделать, изучите iptables (в частности, ведение журнала). Заказ имеет значение. Постоянный конфиг варьируется между дистрибутивами. На RHEL/CentOS iptables-save > /etc/sysconfig/iptables . Быть осторожен.

iptables -N LOGREJECT
iptables -A LOGREJECT -j LOG --log-prefix="PORT3291: "
iptables -A LOGREJECT -j REJECT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 3291 -s 127.0.0.1 -j ACCEPT
iptables -A INPUT -p tcp --dport 3291 -s 192.168.1.100 -j ACCEPT
iptables -A INPUT -p tcp --dport 3291 -j LOGREJECT

В этом примере 127.0.0.1 и 192.168.1.100 - единственные узлы, которым разрешено подключаться. Все остальное будет зарегистрировано и отклонено.

Это должно показать где-то в одном из ваших журналов. Для меня уровень журнала по умолчанию будет отображаться в /var /log /messages и dmesg.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .