Назад | Перейти на главную страницу

как узнать, что клиенты подключаются к прокси-серверу в redhat linux

Есть ли способ узнать, какие клиентские машины подключены к конкретному прокси-серверу в redhat linux, я использую redhat linux версии 6 и настроенный в нем squid

Если Squid прослушивает порт, скажем, 3128, вы можете перечислить все IP-адреса, подключенные к этому порту, используя команду вроде netstat на сервере.

Например:

netstat -na | grep :3128

отобразит что-то вроде ниже:

tcp        0      0 0.0.0.0:3128            0.0.0.0:*               LISTEN
tcp        1      0 10.12.0.1:3128          10.12.3.60:53736        CLOSE_WAIT
tcp        1      0 10.12.0.1:3128          10.12.4.24:60545        CLOSE_WAIT
tcp        1      0 10.12.0.1:3128          10.12.4.13:50484        ESTABLISHED
tcp        1      0 10.12.0.1:3128          10.12.3.55:52669        ESTABLISHED

Вы можете игнорировать первую строку, которая отображает прослушивание службы squid по умолчанию. Для остальных строк 4-я строка - это IP-адрес локального сервера, а 5-я строка - это удаленная конечная точка (клиенты, подключающиеся к прокси). В 6-м столбце вы можете увидеть статус TCP-соединения. В ESTABLISHED обозначает активное в настоящее время соединение.

Вы можете только указать установленное соединение с этим:

 netstat -na | grep :3128 | grep ESTABLISHED

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

netstat -a | grep :3128 | grep ESTABLISHED

Если вы хотите указать только IP-адреса, вы можете использовать следующую команду:

$ netstat -na | grep :3128 | awk '{print $5}' |uniq

Результат будет примерно таким:

192.168.5.1:32832
192.168.5.1:32797