- Susam Pal เปิด ลูปบี๊ปเปอร์ด้วย netcat บนเซิร์ฟเวอร์ Debian แบบ 24 ชั่วโมงให้ใครก็ได้เชื่อมต่อได้ และทุกครั้งที่มีการเชื่อมต่อเข้ามาก็จะตอบกลับ
ok พร้อมส่งเสียงบี๊ปในเทอร์มินัล 4 ครั้ง
- วันไลเนอร์นี้มีโครงสร้างให้รับการเชื่อมต่อด้วย
nc จากนั้น for loop ที่ทำงานเบื้องหลังจะพิมพ์ อักขระกระดิ่ง แล้ว while loop ชั้นนอกจะสร้างโปรเซสใหม่ทันทีเพื่อรอรับการเชื่อมต่อถัดไป
- ในการทดลองครั้งแรก มี การเชื่อมต่อ 4,761 ครั้ง ภายใน 24 ชั่วโมง ทำให้เกิดเสียงบี๊ปรวม 19,044 ครั้ง และสามารถเข้าร่วมได้จากไคลเอนต์หลากหลายแบบ เช่น เบราว์เซอร์,
nc, curl, ssh, irssi
- หลังจากนำบทความวันที่ 10 เมษายน 2025 ไปแชร์บน Hacker News ก็มีการบันทึก การเชื่อมต่อ 352,831 ครั้ง และที่อยู่ไคลเอนต์ไม่ซ้ำ 1,396 รายการภายใน 14 ชั่วโมง ทำให้จำนวนเสียงบี๊ปรวมพุ่งเป็น 1,411,324 ครั้ง
- ในรอบที่สอง ไคลเอนต์ที่ไม่เปิดเผยตัวตน C0276 สร้างการเชื่อมต่อ 327,209 ครั้ง กินสัดส่วนทราฟฟิกส่วนใหญ่ และการถูกนำไปแสดงบน HN ก็ขยายสเกลของการทดลองเล่นสนุกเล็ก ๆ นี้อย่างมาก
บี๊ปเปอร์เทอร์มินัลที่สร้างด้วย netcat
- การทดลองนี้ประกอบด้วย ลูป
netcat ขนาดเล็กบนเซิร์ฟเวอร์ Debian ที่เปิดรับการเชื่อมต่อแบบสุ่ม
- เมื่อไคลเอนต์เชื่อมต่อเข้ามา จะส่งข้อความ
ok
- ปิดการเชื่อมต่อทันที
- ส่งเสียงบี๊ปในเทอร์มินัล 4 ครั้ง
- คำสั่งที่ใช้มีดังนี้
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 จะส่ง ok แล้วปิดการเชื่อมต่อ จากนั้น for loop ด้านในจะพิมพ์อักขระกระดิ่ง 4 ครั้งแบบ อะซิงโครนัส ในเชลล์ที่ทำงานเบื้องหลัง
while loop ด้านนอกจะเรียกโปรเซส nc ตัวใหม่อย่างรวดเร็วเพื่อให้สามารถรับการเชื่อมต่อครั้งถัดไปได้
- ในเธรด HN มีการบอกไว้ว่าหากเชื่อมต่อมายังพอร์ต 8000 ด้วยวิธีใดก็ได้ จะเกิดเสียงบี๊ป 4 ครั้ง
- ตัวอย่าง: เว็บเบราว์เซอร์
- ตัวอย่าง:
nc HOST 8000
- ตัวอย่าง:
curl HOST:8000
- ตัวอย่าง:
ssh HOST -p 8000
- ตัวอย่าง:
irssi -c HOST -p 8000
การพุ่งขึ้นของการเชื่อมต่อที่ขยายตัวสองครั้งจาก HN
- การทดลองครั้งแรกเป็นการลองเล่นสนุกที่ตอบสนองต่อเธรด HN เกี่ยวกับระบบแจ้งเตือน DIY แปลก ๆ
- การพูดคุยดั้งเดิมอยู่ใน HN thread
- มีการเชื่อมต่อเกิดขึ้น 4,761 ครั้งใน 24 ชั่วโมง
- แต่ละครั้งดัง 4 ครั้ง รวมเป็นเสียงบี๊ปในเทอร์มินัลทั้งหมด 19,044 ครั้ง
- ข้อมูลอยู่ใน beeper.log
- หลังจากแชร์บทความนี้บน Hacker News เมื่อวันที่ 10 เมษายน 2025 การเชื่อมต่อก็พุ่งขึ้นอีกครั้ง
- มีการบันทึก 352,831 การเชื่อมต่อ ภายใน 14 ชั่วโมง
- มีที่อยู่ไคลเอนต์ไม่ซ้ำ 1,396 รายการ
- จำนวนเสียงบี๊ปรวมสูงถึง 1,411,324 ครั้ง
- ข้อมูลอยู่ใน beeper2.log
- ทราฟฟิกจำนวนมากในการทดลองครั้งที่สองดูเหมือนจะมาจาก ลูปไคลเอนต์แบบต่อเนื่อง ที่เชื่อมต่อเข้าหาลูปบี๊ปเปอร์ซ้ำ ๆ
- ไคลเอนต์ที่ไม่เปิดเผยตัวตน C0276 สร้างการเชื่อมต่อมากที่สุดที่ 327,209 ครั้ง
- C0595 ซึ่งแอ็กทีฟมากเป็นอันดับสอง ทำสถิติไว้ 6,771 ครั้ง
- มีไคลเอนต์ 491 รายที่เชื่อมต่อเพียงครั้งเดียวเท่านั้น
- จำนวนการเชื่อมต่อต่อไคลเอนต์อยู่ใน beeperclient2.log
- รอบแรกเกิดการเชื่อมต่อ 4,761 ครั้งจากผู้อ่านบางส่วนที่เห็นเธรดคอมเมนต์ แต่รอบที่สองซึ่งขึ้นหน้าแรกของ HN ขยายเป็น 352,831 ครั้ง
- การทดลองนี้ปิดท้ายลงในฐานะกิจกรรมเชิงคอมพิวติ้งที่เน้น การสำรวจไอเดียประหลาด และความสนุกจากการที่คนอื่นเข้ามามีส่วนร่วม มากกว่าการแก้ปัญหา
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
เจ๋งดี รู้ตัวเหมือนกันว่าตัวเองย้อนแย้ง; พูดว่าที่เขียนบล็อกก็เพราะชอบ และการกลายเป็น ทาสของตัวชี้วัดวิเคราะห์ นั้นแย่มาก แต่เอาเข้าจริงพอเห็นโปรเจกต์ที่ใช้เวลาหลายชั่วโมงทำมีคนแห่เข้ามาดู ฟีดแบ็กทันทีแบบนั้นมันรู้สึกดีมาก
สุดท้ายเลยติด ตัวนับผู้เข้าชม แบบง่าย ๆ ไว้บนไซต์ เพื่อเติมเต็มความต้องการการยอมรับ โดยไม่ต้องไปไกลถึงเครื่องมือวิเคราะห์เต็มรูปแบบ มันไม่ส่งเสียงปี๊บ แต่บางทีมันอาจควรส่งก็ได้
tail -F -n 0 /var/log/visitlog | while read ; do printf '\a' ; doneตอนนี้ก็แค่ต้องมีใครสักคนมาเยี่ยมไซต์ผม
เพิ่งดาวน์โหลดไฟล์เสียงคลิกมา กำลังจะลองใส่ดูว่าผมจะคลั่งไหม
https://joeldare.com/private-analtyics-and-my-raspberry-pi-4...
คอมเมนต์ที่ไม่ค่อยมีใครรู้จัก ของผม ซึ่งถูกฝังอยู่ในเธรด HN ธรรมดา ๆ ถูกเอาไปใส่ในบทความด้วย \o/
ไม่ควรไปกดระฆังของ Susam แต่ควรดู Fish Doorbell ต่างหาก แค่คอยแจ้งเมื่อเห็นปลารอจะผ่านไป
https://visdeurbel.nl/en/
ตลกดี เห็นได้เลยว่าตอนนี้ค่อนข้างเป็นที่รักมาก
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.9ให้curlมันจะบอกได้ว่าการตอบกลับที่มีแค่"ok"คือรูปแบบ HTTP 0.9 ที่มีแต่ body ไม่มี header และไม่ใช่ข้อผิดพลาดwatch -n 5ดูได้“สุดท้ายแล้วนี่เป็นการทดลองที่สนุก ไร้ประโยชน์แต่สนุก!”
การทดลองแบบนี้แหละดีที่สุด บางครั้งมันก็นำไปสู่ นวัตกรรม การประดิษฐ์ ความก้าวหน้าทางการแพทย์ อันยิ่งใหญ่ และความสนุกที่มากขึ้น
https://en.m.wikipedia.org/wiki/Trojan_Room_coffee_pot
มี Peep (The Network Auralizer) ซึ่งเป็นเวอร์ชันที่พัฒนากว่าและเก่าแก่ตั้งแต่ปี 2000 ของไอเดียนี้: เครื่องมือเฝ้าดูเครือข่ายด้วยเสียง [1]
เมื่อก่อนผมเคยเปิดใช้เป็นเวลาหลายเดือน ห้องนั่งเล่นฟังดูเหมือนป่าเลย ถ้าใช้การตั้งค่าเดิมกับปริมาณทราฟฟิกที่เพิ่มขึ้นในยุคนี้ คงฟังดูเหมือนประตูนรกมากกว่า
ยังหาได้บน SourceForge แต่อาจต้องปรับแต่งสักหน่อย หรือใช้ VM ที่รัน Linux distro เก่า ๆ
https://sourceforge.net/projects/peep/
[1] https://www.usenix.org/legacy/publications/library/proceedin...
ราวปี 1998 มีกลุ่มหนึ่งที่กำลังหาบุคลากรด้านเทคโนโลยีใหม่ ๆ ให้สตาร์ทอัพที่พวกเขาลงทุนไว้ น่าจะไปโพสต์ในที่อย่าง /. ว่าจะรับเรซูเม่ผ่าน SMTP บนพอร์ตที่ไม่เป็นมาตรฐาน แล้วใช้มันเป็นกลไกคัดกรอง
ผมไม่ได้รับคำตอบ แต่ท้ายที่สุดในปีถัดมาก็ได้ไปทำงานที่หนึ่งในบริษัทที่พวกเขาลงทุนไว้
พวกเนิร์ดที่สนใจเว็บดีเวลลอปเมนต์จะกด “View Source” อยู่ตลอดในทุกหน้าที่น่าสนใจ นั่นเป็นช่องทางหลักที่เทคนิคเว็บฟรอนต์เอนด์ยุคแรก ๆ แพร่กระจาย และมันยอดเยี่ยมจริง ๆ เราสามารถคัดลอก HTML ไปวาง ดาวน์โหลด
.cssและทรัพยากรอื่น ๆ เอง แล้วรันแบบจำลองเว็บไซต์แบบออฟไลน์เพื่อเรียนรู้ความลับได้ เวทมนตร์ทั้งหมดเปิดเผยอยู่ตรงหน้า และถ้าคุณแค่เต็มใจเปิดม่านดู อนาคตก็ดูเหมือนจะเปิดกว้างไม่สิ้นสุดวันนี้ได้เรียนรู้ว่า การตอบกลับ HTTP/0.9 ที่ให้มาเป็นข้อความล้วนโดยไม่มีเฮดเดอร์ ยังใช้งานได้ในเบราว์เซอร์สมัยใหม่ เจ๋งดี
เกี่ยวข้องกันเล็กน้อย ผมเคยทำทราฟฟิก HN ที่ได้รับจากโพสต์อันดับ 1 ให้เป็น แอนิเมชัน
https://idiallo.com/blog/surviving-the-hug-of-death ขอโทษที่ไม่ค่อยเป็นมิตรกับมือถือ
บอตเยอะจนน่าตกใจ ถ้าคราวหน้าได้ทราฟฟิกจาก HN ลองตั้งอะไรแบบนี้ดูน่าจะสนุก
แต่สงสัยว่าเขารู้ได้อย่างไรว่าบอตพวกนั้นจะแตกไฟล์ ถ้าเป็นบอต ผมนึกว่ามันคงแค่คัดลอกเนื้อหา HTML กับรูปภาพของบทความไปแปะในไซต์ตัวเอง ไม่น่ามีเหตุให้แก้ไขไฟล์หรือแตกไฟล์
แอนิเมชันน่าประทับใจ และจำนวนบอตก็เยอะมหาศาล
ดูจากที่ http://susam.net:8000 หยุดตอบสนองแล้ว วันนี้น่าจะมี เสียงปี๊บ ดังขึ้นอีกเยอะมาก
okมา 2 ครั้ง ;)ncหรือtelnetจะได้รับการตอบกลับokก่อนการเชื่อมต่อถูกตัดtelnet -4 susam.net 8000