หากคุณใช้ Linux คุณอาจต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับเครือข่ายของคุณ เครื่องมือหลายอย่างสามารถช่วยคุณได้ และเครื่องมือบางอย่างก็ซับซ้อนกว่าเครื่องมืออื่นๆ ss
คำสั่งเป็นสิ่งที่คุณสามารถวางใจได้จากการติดตั้งในเครื่องหลายๆ เครื่อง ดังนั้นการรู้จะสะดวกง่ายดาย
คำสั่ง ss คืออะไร
แม้ว่าชื่อคำสั่งสองตัวอักษรอาจดูลึกลับ แต่จริงๆ แล้วค่อนข้างง่าย เช่นเดียวกับคำสั่ง Linux/Unix หลายๆ คำสั่ง ชื่อนี้เป็นตัวย่อของสิ่งที่คำสั่งทำ ในที่นี้ ss ย่อมาจาก Socket Statistics
สถิติซ็อกเก็ตเป็นการแทนที่ netstat
แบบเก่า เครื่องมือที่มุ่งให้ง่ายต่อการใช้งานและทำความเข้าใจ มันแสดงข้อมูลเกี่ยวกับซ็อกเก็ต ซึ่งไม่เพียงแต่รวมถึงซ็อกเก็ต TCP และ UDP ซึ่งเป็นประเภทที่ใช้บ่อยที่สุด แต่ยังรวมถึงซ็อกเก็ตโดเมน DCCP, RAW และ Unix ด้วย
การใช้งานพื้นฐาน
วิธีที่ง่ายที่สุดในการใช้คำสั่ง ss คือการเรียกใช้โดยไม่มีข้อโต้แย้ง นี่จะแสดงข้อมูลค่อนข้างมาก ดังนั้นคุณอาจต้องการไปป์ผ่าน less
เพื่อให้อ่านง่ายขึ้น
ss | less
อย่างที่เป็นอยู่นี้ไม่เป็นประโยชน์อย่างยิ่ง มันแสดงข้อมูลมากมาย แต่มีมากจนอ่านยาก เพื่อให้ง่ายขึ้น คุณสามารถกรองซ็อกเก็ตบางประเภทได้
ตัวอย่างเช่น คุณสามารถแสดงรายการซ็อกเก็ต TCP เท่านั้น
ss -t
หรือจะระบุรายการซ็อกเก็ต UDP แทนก็ได้
ss -u
ตามค่าเริ่มต้น ตัวเลือกเหล่านี้จะแสดงรายการซ็อกเก็ตที่สร้างการเชื่อมต่อเท่านั้น ในการแสดงรายการซ็อกเก็ต TCP ทั้งหมดที่ฟังหรือเชื่อมต่ออยู่ คุณสามารถเรียกใช้สิ่งต่อไปนี้:
ss -t -a
จนถึงตอนนี้ ทั้งหมดนี้ดูค่อนข้างเรียบง่าย มาเรียนรู้เพิ่มเติมกันเถอะ
สิ่งที่มีประโยชน์ที่คุณสามารถทำได้ด้วยคำสั่ง ss
เมื่อคุณคุ้นเคยกับพื้นฐานแล้ว ก็ถึงเวลาเริ่มใช้คำสั่ง ss เพื่อตรวจสอบเครือข่ายของคุณ มีหลายสิ่งที่คุณทำได้ แต่นี่เป็นแนวคิดบางส่วนที่จะช่วยให้คุณเริ่มต้นได้
การตรวจสอบสถานะ TCP
หากคุณคุ้นเคยกับระบบเครือข่าย คุณรู้อยู่แล้วว่าการเชื่อมต่อ TCP มีขั้นตอนต่างกัน รายละเอียดเหล่านี้มีรายละเอียดตลอดอายุการใช้งานของการเชื่อมต่อ เราสามารถเจาะลึกถึงขั้นตอนบางประเภทโดยใช้ ss
คำสั่ง
นอกเหนือจากสถานะ TCP มาตรฐานเช่น "ก่อตั้ง" และ "ปิด" แล้ว คำสั่ง ss ยังสนับสนุนตัวกรองที่กำหนดเองสองสามตัว ตัวอย่างเช่น สถานะ "เชื่อมต่อ" เป็นเพียงทุกสถานะ TCP ยกเว้น "การฟัง" และ "ปิด" หากต้องการใช้สิ่งนี้ ให้เรียกใช้สิ่งต่อไปนี้:
ss state connected
IPv4 และ IPv6
หากเครือข่ายของคุณใช้ที่อยู่ IPv6 และ IPv4 ร่วมกัน คุณสามารถกรองได้โดยใช้คำสั่ง ss เพียงใช้ -4
หรือ -6
ธง หากคุณต้องการดูการเชื่อมต่อ IPv4 ทั้งหมด คุณสามารถผูกในสถานะ TCP
ss -4 state connected
หากคุณต้องการดูซ็อกเก็ต IPv6 ทั้งหมด คุณเพียงแค่เรียกใช้สิ่งต่อไปนี้:
ss -6
ใช้ซ็อกเก็ตนี้กระบวนการอะไร
หากคุณรู้ว่าซ็อกเก็ตกำลังฟังอยู่ แต่ไม่รู้ว่าทำไม คุณสามารถติดตามสิ่งนี้ได้อย่างง่ายดาย การเรียกใช้สิ่งต่อไปนี้จะแสดงชื่อและรหัสกระบวนการของซ็อกเก็ต IPv4 TCP ที่เชื่อมต่อทั้งหมดให้คุณเห็น
ss -4p state connected
การแสดงสรุป
บางครั้งคุณแค่ต้องการสรุปสั้นๆ เกี่ยวกับซ็อกเก็ตในเครื่องที่กำหนด นี่เป็นหนึ่งในคำสั่งที่ง่ายต่อการเรียกใช้ เนื่องจากประกอบด้วยตัวอักษร “s” และขีดเดียวทั้งหมด:
ss -s
ซึ่งจะให้ข้อมูลสรุปของซ็อกเก็ตทั้งหมดในเครื่องของคุณและแสดงว่าเป็น IPv4 หรือ IPv6
ต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับเครือข่ายของคุณหรือไม่
นี่เป็นเพียงจุดเริ่มต้นของสิ่งที่คุณสามารถทำได้ด้วยคำสั่ง ss เป็นเครื่องมืออันทรงพลังและเป็นสิ่งที่ควรค่าแก่การเรียนรู้ หากต้องการเจาะลึก ให้เปิดเทอร์มินัลแล้วดูเอกสารในหน้าคู่มือของเครื่องมือ เพียงเรียกใช้ man ss
เพื่อเริ่มต้น
หากคุณต้องการรักษาความปลอดภัยให้กับเครื่องของคุณ ss นั้นมีประโยชน์แต่ไม่ใช่เครื่องมือเดียวที่มีให้ ดูคำแนะนำในการตรวจสอบพอร์ตที่เปิดอยู่บน Linux เพื่อเรียนรู้เพิ่มเติม