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