Netstat เป็นคำสั่งพื้นฐานของ window ที่ใช้แสดงการเชื่อมต่อจากที่ต่างๆออกมาทั้งหมดออกมาไม่ว่าจะมา
จาก protocol TCP, UDP, ICMP และอื่นๆ รวมไปถึงหมายเลข Port และ IP ของผู้ติดต่อ ออกมาให้เรา
ดูเพื่อใช้ในการวิเคราะห์และตรวจสอบการเชื่อมต่อของเครื่องของเรา
ลักษณะการใช้งาน
1. Start > Run
2. พิมพ์คำสั่งคำว่า cmd ลงไปแล้วกด OK
3. จะได้หน้าจอ Command Prompt ออกมา
4. ให้เราทดลองพิมพ์คำสั่งคำว่า netstat ลงไปแล้วจะได้ผลลัพธ์อย่างภาพซึ่งในแต่ละเครื่องจะ
ไม่เหมือนกันแล้วแต่การเชื่อมต่อที่เราได้เชื่อมต่อเอาไว้โดยหลักๆก็จะมีข้อมูลดังต่อไปนี้
Proto คือ Protocol ที่กำลังใช้งานอยู่จะมี TCP และ UDP เป็นหลัก
Local Address (ค่า IP หรือชื่อเครื่อง: port ที่ใช้งานอยู่) คือจะแสดง หมายเลข IP ของเรา (ในที่นี้เป็นชื่อ
เครื่อง) และ port ที่ืั้กำลังใช้งานอยู่
Foreign Address (ค่า IP หรือชื่อเครื่อง: Port ที่ใช้ติดต่ออยู่): อันนี้จะแสดงชื่อหรือ IP address
ของเครื่องที่เรากำลังติดต่ออยู่ด้วย และหมายเลข Port ที่เราใช้เชื่อมต่อนั้นๆ
State คือ สถานะของการเชื่อมต่อของ netstat นั้นๆจะมีอยู่ด้วยกัน 4 สถานะหลักๆได้แก่
1. Established เป็นสถานะที่บอกว่าเครื่องนั้นๆได้เกิดการเชื่อมต่อกับ IP address ปลายทางด้วย port
หมายเลขนั้นแล้ว ซึ่งสถานะนี้เป็นสถานะที่เกิดได้ทั่วไปเพราะการเชื่อมต่อใน internet นั้นเป็นเรื่อง
ที่ธรรมดาอยู่แล้วแต่ถึงอย่างไรก็ตามเราควรตรวจสอบให้ดีเพราะมีบาง port ที่ไม่จำเป็นก็ไม่ควรจะมีการ
เชื่อมต่ออยู่เช่น port 23 ซึ่งเป็น port ของ telnet ซึ่งโดยทั่วไปแล้วนั้นไม่มีใครใช้กันสักเท่าไร
และที่สำคัญอีกอย่างสำหรับสถานะ Established ก็คือควรตรวจสอบก่อนว่าเราไม่ได้ connect ไปหา
IP address แปลกๆเข้าให้เพราะว่าบางที่นั้นอาจเป็นเพราะว่าในเครื่องของเราลักลอบติดต่อไปด้วย
โปรแกรมอันตรายอย่าง Trojan อยู่ก็เป็นไปได้
2. Time_wait คือสถานะที่รอการเชื่อมต่อกลับมาอยู่หรือถ้าเราจะมองในแง่ร้ายสุดๆก็คือโดน scan port
อยู่
3. Listening คือยังไม่มีเครื่องใดติดต่อมาหรือว่ากำลังรอการเชื่อมต่ออยู่นั้นเอง
4. Close_wait คือปิดการเชื่อมต่อปกติจะไม่พบมากสำหรับสถานะนี้
และสถานะอื่นๆที่อาจพบได้แก่ SYN_SENT , FIN_WAIT เป็นต้น
ค่า Parameters ต่างๆของ netstat
นอกจากคำสั่งพื้นฐานโดยทั่วไปนั้นแล้ว netstat ยังมีค่า Parameters ต่างๆออกมาเพื่อที่จะทำให้การตรวจ
สอบนั้นเป็นไปได้อย่างละเอียดมากยิ่งขึ้นซึ่ง Parameters เหล่านั้นเราสามารถดูได้จาก help ของตัว netstat
เองซึ่งคำสั่งนั้นก็คือ netstat /? ซึ่งจะเป็นภาษาอังกฤษหรือว่าสามารถอ่านความหมายและวิธีการใช้งานเบื้องต้น
ได้ข้างล่าง
คำสั่งหลักๆของ netstat
-a คือคำสั่งที่ให้แสดงการเชื่อมต่อทั้งหมดออกมาไม่ว่าจะเป็น IP address หรือว่า Port ก็ตามส่วนใหญ่คำสั่งนี้
จะแสดงเป็นชื่อแทนที่จะเป็น IP address โดยตรง
-n คือคำสั่งที่มีการสั่งให้แสดงเป็นหมายเลข IP address แทนที่จะเป็นแบบชื่อ
-e คือ คำสั่งที่แสดงข้อมูลออกมาในรูปแบบของสถิติ เช่น มีการส่งออกไปกี่ Bytes, จำนวน packet ที่ดีๆ,
จำนวน packet ที่ถูกทิ้ง, ความผิดพลาดที่เกิดขึ้น และอีกหลายๆอย่าง
-o แสดง process ID ที่มีการเชื่อมต่ออยู่ด้วย
-p proto คือคำสั่งที่ให้แสดงการเชื่อมต่อใน Protocolนั้นออกมาด้วยไม่ว่าจะเป็น TCP, UDP, TCPv6,
UDPv6, และถ้าใช้ควบคู่กับคำสั่ง –s จะสามารถแสดง protocolอื่นๆได้ด้วย ลักษณะการใช้งาน
netstat –p tcp เป็นต้นถ้าอยากดูprotocolอื่นก็เปลี่ยนจาก tcp เป็น protocolอื่นที่ต้องการ
-r แสดงข้อมูลใน routing Table ของเครื่อง
-s แสดงสถิติของ protocol อื่นๆออกมาด้วยยกตัวอย่างเช่น IP, IPv6, ICMP, ICMPv6, TCP, TCPv6,
UDP, UDPv6 เป็นต้น
netstat (ค่าตัวเลข) คือคำสั่งที่บังคับให้มีการแสดงการเชืื่อมต่อนั้นทุกๆ ค่าตัวเลข วินาที
Parameter อื่นๆ –b และ –v ก็มีความสำคัญเช่นเดียวกันและ Tip ที่น่ารู้เกี่ยวกับ netstat นั้นก็คือ
Parameter ต่างๆที่เราเห็นนั้นบาง parameter เราสามารถใช้งานควบคู่กันได้ยกตัวอย่าง เช่น –a และ
–n ลักษณะการใช้งานเราสามารถใช้ได้ 2 แบบนั้นก็คือ netstat –a –n หรือว่า netstat –an เลยก็ได้
ส่งท้ายด้วยเรื่องของ Port ที่มีการใช้งานบ่อยๆ
TCP-UDP 7 คือ Echo
TCP port 20 – 21 คือ FTP (ตัวที่ใช้ Upload file เข้า server)
TCP 21 คือ telnet (ปกติเขาจะไม่ใช้กันระวังให้ดีถ้า port นี้ Established อยู่)
TCP 23 คือ SSH
TCP 25 คือ SMTP (ส่ง mail)
TCP – UDP 53 DNS
TCP 80, 443 คือ Http – https (ตัวเปิด web ทั่วไปนั้นเหละ)
TCP 110 คือ POP3 (ส่ง mail เช่นเดียวกัน)
TCP-UDP 1433 คือ Microsoft SQL Server
พอหอมปากหอมคอ