1 puan yazan GN⁺ 2025-04-11 | 1 yorum | WhatsApp'ta paylaş
  • Susam Pal, herkesin bağlanabileceği bir netcat bip döngüsünü Debian sunucusunda 24 saat açık tuttu; her bağlantı geldiğinde ok yanıtıyla birlikte terminalde 4 kez bip sesi çaldırdı
  • Tek satırlık komut, nc ile bağlantı kabul ediyor; arka plandaki for döngüsü zil karakteri bastıktan sonra dıştaki while döngüsü bir sonraki bağlantıyı almak için hemen yeni bir süreç başlatıyor
  • İlk deneyde 24 saat içinde 4.761 bağlantı geldi ve toplam 19.044 bip sesi çaldı; tarayıcı, nc, curl, ssh, irssi gibi çeşitli istemcilerle katılmak mümkündü
  • 10 Nisan 2025’te yazı Hacker News’te paylaşıldıktan sonra 14 saat içinde 352.831 bağlantı ve 1.396 benzersiz istemci adresi kaydedildi; toplam 1.411.324 bip sesine büyüdü
  • İkinci turda anonimleştirilmiş C0276 istemcisi 327.209 bağlantı üreterek trafiğin büyük kısmını oluşturdu; HN’de görünürlük küçük ve şakacı bir deneyin ölçeğini önemli ölçüde büyüttü

netcat ile yapılmış terminal bipleyicisi

  • Deney, Debian sunucusunda rastgele bağlantıları kabul eden küçük bir netcat döngüsünden oluşuyordu
    • İstemci bağlandığında ok mesajı gönderiyor
    • Bağlantıyı hemen kapatıyor
    • Terminalde 4 kez bip sesi çıkarıyor
  • Çalıştırılan komut şöyleydi
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
  • nc komutu ok gönderdikten sonra bağlantıyı kapatıyor; içteki for döngüsü ise arka plan shell’inde asenkron olarak zil karakterini dört kez yazdırıyor
  • Dıştaki while döngüsü hızla yeni bir nc süreci çalıştırarak bir sonraki bağlantıyı almayı mümkün kılıyor
  • HN başlığında, 8000 numaralı porta herhangi bir yöntemle bağlanıldığında 4 kez bip sesi çıkacağı belirtilmişti
    • Örn: web tarayıcısı
    • Örn: nc HOST 8000
    • Örn: curl HOST:8000
    • Örn: ssh HOST -p 8000
    • Örn: irssi -c HOST -p 8000

HN’de iki kez büyüyen bağlantı patlaması

  • İlk deney, tuhaf bir DIY bildirim sistemiyle ilgili HN başlığına yanıt olarak yapılan şakacı bir deneydi
    • Asıl tartışma HN thread üzerinde
    • 24 saat içinde 4.761 bağlantı gerçekleşti
    • Her bağlantıda 4 kez çaldığı için toplam 19.044 terminal bip sesi oluştu
    • Veriler beeper.log içinde
  • 10 Nisan 2025’te bu yazı Hacker News’te paylaşıldıktan sonra bağlantılar yeniden hızla arttı
    • 14 saat içinde 352.831 bağlantı kaydedildi
    • Benzersiz istemci adresi sayısı 1.396 idi
    • Toplam bip sesi 1.411.324’e ulaştı
    • Veriler beeper2.log içinde
  • İkinci deneydeki trafiğin büyük kısmı, bip döngüsüne sürekli bağlanan bir kalıcı istemci döngüsünden gelmiş gibi görünüyor
    • Anonimleştirilmiş C0276 istemcisi, 327.209 bağlantıyla en çok bağlantıyı üretti
    • İkinci en aktif C0595 ise 6.771 bağlantı kaydetti
    • Yalnızca tam olarak bir kez bağlanan 491 istemci vardı
    • İstemci başına bağlantı sayıları beeperclient2.log içinde
  • İlk turda yorum başlığını gören bazı okuyuculardan 4.761 bağlantı gelmişti; HN ön sayfasına çıkan ikinci tur ise 352.831 bağlantıya büyüdü
  • Bu deney, sorun çözmekten çok tuhaf fikirleri keşfetmeye ve başkalarının birlikte katıldığı eğlenceye odaklanan bir bilişim etkinliği olarak sonuçlandı

1 yorum

 
GN⁺ 2025-04-11
Hacker News yorumları
  • Harika. Ben de ikiyüzlü olduğumu biliyorum; blogu sevdiğim için yazdığımı ve analitik metriklerinin kölesi olmanın berbat olduğunu söylüyorum ama gerçekte birkaç saat harcadığım bir projeye ziyaretçi yağdığını görünce anlık geri bildirim inanılmaz hoşuma gidiyor
    Sonunda tam teşekküllü bir analitik aracına kadar gitmeden onaylanma ihtiyacımı gidermek için siteye basit bir ziyaretçi sayacı ekledim. Bip sesi çıkarmıyor ama belki de çıkarmalı

    • Ne kadar yozlaştığımı kanıtlarcasına, ziyaretçi sayacı tepki verdiğinde bip sesi çıkaran tek satırlık bir shell scripti az önce yaptım
      tail -F -n 0 /var/log/visitlog | while read ; do printf '\a' ; done
      Şimdi tek gereken birinin sitemi ziyaret etmesi
    • Ben de benzerini yaptım. Kullanıcı gizliliğini elinden almak istemediğim için 2022'de kendi basit sayacımı yaptım ve blogumda yatak odamdaki Raspberry Pi 400 hakkında yazdım
      Tıklama sesi dosyasını az önce indirdim; ekleyip beni çıldırtıp çıldırtmadığına bakacağım
      https://joeldare.com/private-analtyics-and-my-raspberry-pi-4...
    • Birkaç saat harcadığın bir ürün için takdir edilmek istemenin neden kötü bir şey gibi hissettirdiğini merak ediyorum
    • Eskiden kendi yaptığım PHP sayfasıyla site işletirken, içeride düz bir metin dosyası kullanan bir ziyaretçi sayacı vardı. Şaşırtıcı derecede etkiliydi ve eğlenceli bir deneyimdi
  • Sıradan bir HN başlığının içinde gömülü kalmış pek bilinmeyen yorumum makaleye girmiş \o/

    • Bu, iyice gömülmüş yorumların bile binlerce görüntülenme getirebildiğini gösteriyor. Yorumu gerçekten okuyanların yalnızca bir kısmı tepki vermiş olmalı; o kısmın 4 bini aşması bile bakış açısını değiştiriyor
  • Susam'ın zilini çalmak yerine Fish Doorbell'e bakmak gerek. Bir balığın geçmek için beklediğini görürsen haber veriyorsun
    https://visdeurbel.nl/en/

    • Fish Doorbell harika bir AI kullanım örneği olurdu ama balıklar geçmek istediğinde gönüllülerin videoyu izleyip zili bizzat çaldığı bir dünyada yaşamak istiyorum
  • Eğlenceli. Şu an epey sevildiği belli
    while true; do; sleep 5; curl http://susam.net:8000 ; done
    curl: (1) Received HTTP/0.9 when not allowed
    curl: (1) Received HTTP/0.9 when not allowed
    curl: (7) Failed to connect to susam.net port 8000 after 11 ms: Couldn't connect to server
    curl: (56) Recv failure: Connection reset by peer
    curl: (7) Failed to connect to susam.net port 8000 after 8 ms: Couldn't connect to server
    curl: (1) Received HTTP/0.9 when not allowed
    curl: (7) Failed to connect to susam.net port 8000 after 8 ms: Couldn't connect to server
    curl: (1) Received HTTP/0.9 when not allowed
    curl: (7) Failed to connect to susam.net port 8000 after 10 ms: Couldn't connect to server
    curl: (7) Failed to connect to susam.net port 8000 after 11 ms: Couldn't connect to server
    curl: (56) Recv failure: Connection reset by peer
    curl: (56) Recv failure: Connection reset by peer
    curl: (1) Received HTTP/0.9 when not allowed

    • Bu duruma gerçekten çok yardımcı oluyorsun…
    • curle --http0.9 bayrağını eklemek iyi olur. Yalnızca "ok" gelen, yani başlık olmadan sadece gövdeden oluşan HTTP 0.9 tarzı yanıtın hata olmadığını söyleyebilirsin
    • Bir dahaki sefere watch -n 5 kullanabilirsin
  • “Sonuçta bu eğlenceli bir deneydi. İşe yaramaz ama eğlenceliydi!”
    Böyle deneyler en iyisi. Bazen bunlardan devasa yenilikler, icatlar, tıbbi ilerlemeler ve daha büyük eğlenceler çıkabiliyor

    • Bir zamanlar duyduğum “işe yaramaz olması değersiz olduğu anlamına gelmez” diye bir ifade var; gerçekten sevdiğim bir cümle
    • Bir gün sadece koridorun sonundaki dinlenme odasında taze kahve olup olmadığını öğrenmeye çalışıyorsundur; ertesi gün web kamerasını icat etmiş olursun
      https://en.m.wikipedia.org/wiki/Trojan_Room_coffee_pot
  • Bu fikrin daha gelişmiş ve eski, 2000 tarihli bir versiyonu olarak Peep (The Network Auralizer) var: ağı sesle izleyen bir araç [1]
    Eskiden birkaç ay çalıştırmıştım; oturma odam orman gibi duyuluyordu. Günümüzdeki trafik artışıyla aynı ayarları çalıştırsam herhalde cehennemin kapısı gibi duyulurdu
    Hâlâ SourceForge'da bulunabiliyor ama biraz elden geçirmek ya da eski bir Linux dağıtımı çalıştıran bir VM gerekebilir
    https://sourceforge.net/projects/peep/
    [1] https://www.usenix.org/legacy/publications/library/proceedin...

  • 1998 civarında, yatırım yaptıkları startup’lar için yeni teknik yetenek arayan bir grup vardı. Sanırım /., gibi bir yerde özgeçmişleri standart dışı bir SMTP portu üzerinden kabul edeceklerini duyurmuşlar ve bunu bir filtreleme mekanizması olarak kullanmışlardı.
    Yanıt alamadım ama sonunda ertesi yıl yatırım yaptıkları şirketlerden birinde çalışmaya başladım.

    • Benzer bir dönemde web sitesinin HTML kaynak kodu içine iş ilanı koyanlar da vardı. O sırada teknik bir iş aramadığım için başvurmadım ama bunu hep zekice bulmuşumdur.
      Web geliştirmeye ilgi duyan meraklı tipler, ilginç buldukları her sayfada durmadan “View Source”a basardı. Bu, erken dönem web frontend tekniklerinin yayılmasının başlıca yollarından biriydi ve gerçekten harikaydı. HTML’i kopyalayıp yapıştırabilir, .css dosyalarını ve diğer kaynakları elle indirip sitenin maketini çevrimdışı çalıştırarak sırları öğrenebilirdiniz. Bütün sihir ortadaydı; perdeyi aralamaya niyetiniz varsa gelecek sınırsızca açık görünüyordu.
    • Benzer şekilde DNS üzerinden iş ilanı yayımlayan bir şirket hatırlıyorum. Sanırım gerçek başvuru yöntemini anlatan bir TXT kaydı vardı.
    • O portun belgelenmiş olup olmadığını, yoksa bizzat taramak gerekip gerekmediğini merak ediyorum.
  • Bugün öğrendim: Başlıksız, yalnızca metin döndüren HTTP/0.9 yanıtı modern tarayıcılarda hâlâ çalışıyor. Harika.

    • Umarım sonsuza dek böyle kalır. Küçük projeler için kullanışlı.
  • Biraz bağlantılı olarak, bir keresinde 1 numaralı gönderi olduğumda aldığım HN trafiğini animasyon hâline getirmiştim.
    https://idiallo.com/blog/surviving-the-hug-of-death Mobil uyumlu olmadığı için kusura bakmayın.
    Şaşırtıcı derecede çok bot var. Bir dahaki sefere HN trafiği alırsanız böyle bir şey kurup denemek eğlenceli olabilir.

    • “Başta onlarla elle uğraşıp sahte veri yedirdim. Ama çabuk sıkıldım. Bu yüzden gizli silahımı, bir zip bombasını devreye aldım. Bot siteme eriştiğinde küçük bir sıkıştırılmış dosya sunuyordum; onların sunucusu da hevesle indirip açıyor ve birkaç gigabaytlık kaosu patlatıyordu. Bum. Bitti.”
      Ama o botun sıkıştırılmış dosyayı açacağını nereden bildiğini merak ediyorum. Bot dediğin, yazının HTML içeriğiyle görsellerini kopyalayıp kendi sitesine yapıştırır gibi geliyor; dosya düzenlemesi ya da sıkıştırma açması gerekecek gibi görünmüyor.
      Animasyon etkileyici ve bot sayısı inanılmaz.
  • http://susam.net:8000 yanıt vermeyi bıraktığına göre, bugün bip sesi çok daha fazla çıkacak gibi.

    • Yaklaşık 14 denemede 2 kez ok aldım ;)
    • Bu bir HTTP sunucusu değil. nc ya da telnet gibi bir şeyle denerseniz bağlantı kesilmeden önce ok yanıtını alabilirsiniz.
      telnet -4 susam.net 8000