- Susam Pal manteve no ar por 24 horas, em um servidor Debian, um loop de beeper com netcat acessível a qualquer pessoa; a cada conexão recebida, ele respondia com
ok e fazia o terminal emitir quatro bipes
- O one-liner recebe conexões com
nc, enquanto um loop for em segundo plano imprime o caractere de campainha; em seguida, o loop while externo inicia imediatamente um novo processo para aceitar a próxima conexão
- No primeiro experimento, houve 4.761 conexões em 24 horas, totalizando 19.044 bipes, e era possível participar com vários clientes, como navegador,
nc, curl, ssh e irssi
- Depois que o texto foi compartilhado no Hacker News em 10 de abril de 2025, foram registradas 352.831 conexões em 14 horas e 1.396 endereços de cliente únicos, elevando o total para 1.411.324 bipes
- Na segunda rodada, o cliente anonimizado C0276 gerou 327.209 conexões e respondeu pela maior parte do tráfego, mostrando como a exposição no HN ampliou drasticamente a escala de um pequeno experimento brincalhão
Beeper de terminal feito com netcat
- O experimento consistia em um pequeno loop com
netcat para aceitar conexões arbitrárias em um servidor Debian
- Quando um cliente se conectava, era enviada a mensagem
ok
- A conexão era encerrada imediatamente
- O terminal emitia quatro bipes
- O comando executado foi o seguinte
while true; do (echo ok | nc -q 1 -vlp 8000 2>&1; echo; date -u) | tee -a beeper.log; for i in 1 2 3 4; do printf '\a'; sleep 1; done & done
- O comando
nc envia ok e depois fecha a conexão, enquanto o loop for interno imprime o caractere de campainha quatro vezes de forma assíncrona em um shell em segundo plano
- O loop
while externo executa rapidamente um novo processo nc, permitindo receber a próxima conexão
- No tópico do HN, foi explicado que qualquer forma de conexão à porta 8000 produziria quatro bipes
- Ex.: navegador web
- Ex.:
nc HOST 8000
- Ex.:
curl HOST:8000
- Ex.:
ssh HOST -p 8000
- Ex.:
irssi -c HOST -p 8000
Explosão de conexões duplicada no HN
- O primeiro experimento foi uma brincadeira em resposta a um tópico do HN sobre um sistema de notificação DIY curioso
- A discussão original está no HN thread
- Houve 4.761 conexões em 24 horas
- Como cada uma acionava quatro sons, isso resultou em 19.044 bipes de terminal no total
- Os dados estão em beeper.log
- Depois que este texto foi compartilhado no Hacker News em 10 de abril de 2025, as conexões dispararam novamente
- Foram registradas 352.831 conexões em 14 horas
- Havia 1.396 endereços de cliente únicos
- O total de bipes chegou a 1.411.324
- Os dados estão em beeper2.log
- Grande parte do tráfego do segundo experimento parece ter vindo de um loop persistente de cliente que continuava se conectando ao loop do beeper
- O cliente anonimizado C0276 fez 327.209 conexões, o maior volume
- O segundo mais ativo, C0595, registrou 6.771 conexões
- Havia 491 clientes que se conectaram exatamente uma vez
- As contagens de conexões por cliente estão em beeperclient2.log
- Na primeira rodada, alguns leitores que viram o tópico de comentários geraram 4.761 conexões, mas a segunda rodada, que foi para a página inicial do HN, cresceu para 352.831 conexões
- O experimento terminou como uma atividade de computação focada menos em resolver um problema e mais em explorar ideias curiosas e na diversão de outras pessoas participarem juntas
1 comentários
Opiniões no Hacker News
Legal. Sei que eu mesmo sou hipócrita; digo que escrevo no blog porque gosto e que virar escravo das métricas de análise é horrível, mas, na prática, quando vejo uma enxurrada de visitas em um projeto no qual passei algumas horas, esse feedback imediato é bom demais
No fim, para satisfazer essa vontade de reconhecimento sem chegar a usar uma ferramenta de analytics completa, coloquei um contador de visitas simples no site. Ele não faz bip, mas talvez devesse
tail -F -n 0 /var/log/visitlog | while read ; do printf '\a' ; doneAgora só falta alguém visitar meu site
Acabei de baixar um arquivo de som de clique e vou ver se, ao adicioná-lo, eu enlouqueço
https://joeldare.com/private-analtyics-and-my-raspberry-pi-4...
Meu comentário pouco conhecido, soterrado em uma thread comum do HN, apareceu no artigo \o/
Em vez de tocar o sino do Susam, vocês precisam ver o Fish Doorbell. É só avisar quando virem um peixe esperando para passar
https://visdeurbel.nl/en/
Divertido. Dá para ver que ele está sendo bem amado agora
while true; do; sleep 5; curl http://susam.net:8000 ; donecurl: (1) Received HTTP/0.9 when not allowedcurl: (1) Received HTTP/0.9 when not allowedcurl: (7) Failed to connect to susam.net port 8000 after 11 ms: Couldn't connect to servercurl: (56) Recv failure: Connection reset by peercurl: (7) Failed to connect to susam.net port 8000 after 8 ms: Couldn't connect to servercurl: (1) Received HTTP/0.9 when not allowedcurl: (7) Failed to connect to susam.net port 8000 after 8 ms: Couldn't connect to servercurl: (1) Received HTTP/0.9 when not allowedcurl: (7) Failed to connect to susam.net port 8000 after 10 ms: Couldn't connect to servercurl: (7) Failed to connect to susam.net port 8000 after 11 ms: Couldn't connect to servercurl: (56) Recv failure: Connection reset by peercurl: (56) Recv failure: Connection reset by peercurl: (1) Received HTTP/0.9 when not allowed--http0.9aocurl. Assim dá para dizer a ele que uma resposta que vem só com"ok", ou seja, apenas o corpo sem cabeçalhos, no estilo HTTP 0.9, não é um errowatch -n 5“No fim, este foi um experimento divertido. Inútil, mas divertido!”
Esses experimentos são os melhores. Às vezes deles saem uma grande inovação, invenção, avanço médico ou ainda mais diversão
https://en.m.wikipedia.org/wiki/Trojan_Room_coffee_pot
Uma versão mais desenvolvida e mais antiga, de 2000, dessa ideia é o Peep (The Network Auralizer): uma ferramenta para monitorar a rede por meio de sons [1]
Rodei isso por alguns meses no passado, e a sala parecia uma selva. Se eu rodasse a mesma configuração hoje, com o aumento de tráfego atual, provavelmente soaria como os portões do inferno
Ainda dá para encontrá-lo no SourceForge, mas talvez seja preciso mexer um pouco nele ou usar uma VM rodando uma distribuição Linux antiga
https://sourceforge.net/projects/peep/
[1] https://www.usenix.org/legacy/publications/library/proceedin...
Por volta de 1998, havia um grupo procurando novos talentos técnicos para as startups em que tinha investido. Acho que eles publicaram em algum lugar como o /. que receberiam currículos via SMTP em uma porta não padrão, e usaram isso como mecanismo de filtragem.
Não recebi resposta, mas acabei trabalhando no ano seguinte em uma das empresas em que eles tinham investido.
Os geeks interessados em desenvolvimento web viviam clicando em “View Source” em toda página interessante. Esse foi um dos principais caminhos pelos quais as técnicas iniciais de front-end web se espalharam, e era muito bom. Dava para copiar e colar o HTML, baixar manualmente o
.csse outros recursos, rodar uma maquete do site offline e aprender os segredos. Toda a magia estava exposta, e, se você tivesse vontade de abrir a cortina, o futuro parecia infinitamente aberto.Aprendi hoje: uma resposta HTTP/0.9 que entrega só texto, sem cabeçalhos, ainda funciona em navegadores modernos. Legal.
Um pouco relacionado: uma vez transformei em animação o tráfego do HN que recebi por causa de um post em primeiro lugar.
https://idiallo.com/blog/surviving-the-hug-of-death Desculpem, não é muito amigável para celular.
Há uma quantidade surpreendente de bots. Na próxima vez que receber tráfego do HN, talvez seja divertido configurar algo assim.
Mas fico me perguntando como ele sabia que aquele bot iria descompactar o arquivo. Se fosse um bot, eu imaginaria que ele copiaria o conteúdo HTML do artigo e talvez as imagens para colar no próprio site, mas não parece haver motivo para editar arquivos ou descompactá-los.
A animação é impressionante, e a quantidade de bots é enorme.
Vendo que http://susam.net:8000 parou de responder, acho que hoje vai ter muito mais bipe.
ok2 vezes ;)ncoutelnet, pode receber uma respostaokantes de a conexão cair.telnet -4 susam.net 8000