Listar conexões de entrada no nc (netcat)

1

Eu configuro nc em alguns computadores no meu escritório. Eles estão se conectando ao nosso servidor assim:

nc 192.168.1.2 3291 -e cmd

Alguém sabe como listar tentativas de conexão de entrada em vez de aceitar uma? Não:

nc -l 192.168.1.2 3291

EDITAR: Parte da listagem resolvida, usando o tcpdump. Restante parte da questão:

Como aceitar uma conexão no nc somente de um host específico? ou seja, 192.168.1.6 , 192.168.1.7 e 192.168.1.8 estão pedindo para se conectar e só queremos falar com 192.168.1.7 . Existe alguma maneira de fazer isso com o nc?

    
por Megsi 19.02.2013 / 03:40

2 respostas

2

Você quer ver os clientes que estão tentando se conectar em tempo real, certo?

Você pode usar tcpdump para isso.

Por exemplo, para observar o que está acontecendo na porta TCP 3291, você pode fazer tcpdump -i any tcp port 3291 . Então você pode assistir em tempo real todos os pacotes que chegam nessa porta.

    
por 19.02.2013 / 04:06
0

Este linux (tanto o win quanto o linux estão marcados)?

Você pode ter o iptables log e filtrar conexões. Este é um exemplo muito pobre . Faça mais pesquisas sobre o iptables (especificamente logging) se você quiser fazer isso. A ordem é importante. A configuração persistente varia entre distros. No RHEL / CentOS iptables-save > /etc/sysconfig/iptables . Tenha cuidado.

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

Neste exemplo, 127.0.0.1 e 192.168.1.100 são os únicos hosts com permissão para se conectar. Todo o resto será registrado e rejeitado.

Isso deve aparecer em um de seus registros em algum lugar. Para mim, o nível de log padrão será mostrado em / var / log / messages e dmesg.

    
por 22.02.2013 / 11:51