
Não tenho 100% de certeza se estou usando a terminologia correta no título, então, se alguém souber melhor do que eu, altere-o.
Estou tentando replicar um script malicioso que vi à solta com o propósito de testar minhas opções de resposta a ele. Ele se liga a vários endereços IP em um IPv6/64 e é então usado para inundar o IRC de centenas ou milhares de endereços IP diferentes. O fato de ser capaz de se vincular a endereços diferentes permite ignorar algumas limitações automáticas por nome de host e causar problemas, apesar das medidas existentes em vigor.
Basicamente, o problema que estou tentando resolver se resume a isso. Estou usando uma máquina de teste executando o Ubuntu Server 13.10:
$ uname -a
Linux sandbox 3.11.0-12-generic #19-Ubuntu SMP Wed Oct 9 16:12:00 UTC 2013 i686 i686 i686 GNU/Linux
Minha rede está configurada da seguinte maneira:
$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:18:f8:0d:c0:d5
inet addr:192.168.2.100 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr: fe80::218:f8ff:fe0d:c0d5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:9184009 errors:0 dropped:751 overruns:0 frame:57518
TX packets:1143073 errors:12057087 dropped:0 overruns:0 carrier:23942906
collisions:0 txqueuelen:1000
RX bytes:1475317803 (1.4 GB) TX bytes:287318593 (287.3 MB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:4007947 errors:0 dropped:0 overruns:0 frame:0
TX packets:4007947 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:663390993 (663.3 MB) TX bytes:663390993 (663.3 MB)
A inet6
linha da listagem eth0 indica que todo o /64 no qual reside o endereço listado está alocado como link local para esta máquina, mas não tenho 100% de certeza de que isso seja verdade. De qualquer forma, o seguinte comando que estou usando para testar a conectividade não está funcionando como esperado:
$ telnet -6 -b fe80::1234:1234:1234:1234%eth0 fe80::218:f8ff:fe0d:c0d5%eth0 6667
telnet: bind: Cannot assign requested address
Estou incorreto ao assumir que todo o /64 está alocado para esta máquina? Caso contrário, como posso configurar algo que permitirá que isso funcione (uma solução somente Host é adequada, pois é apenas para teste)? Caso contrário, o que devo fazer para vincular corretamente a esse endereço?
Responder1
fe80::/64 é o prefixo link-local para toda a LAN Ethernet à qual eth0 está conectado. Para fornecer outro endereço à sua máquina nessa rede, você precisa usar algo como ifconfig
informar à sua pilha IPv6 para usar esse endereço antes de poder telnet
vincular-se a ele.
Não me lembro da ifconfig
sintaxe exata de cara, mas observe os subcomandos add
e alias
na página de manual.