Updated: Nov 9, 2020
netstat คือ คำสั่งที่ใช้ในการแสดงรายละเอียดต่างๆ ที่เกี่ยวกับสถานะและเส้นทาง (Routing) ในการติดต่อสื่อสารระหว่างเครื่องผู้ใช้งาน (Client) กับเครื่องให้บริการแม่ข่าย (Server) หรือระบบเครือข่ายเน็ตเวิร์ก (Network) ดั้งนั้นผู้ใช้งานทั่วไปและผู้ดูแลระบบสามารถที่จะใช้ในการวิเคราะห์หรือตรวจสอบสถานะการทำงานต่างๆ บนระบบเครือข่ายคอมพิวเตอร์ได้
ขั้นตอนการใช้งาน
1. ดูรายละเอียดพารามิเตอร์ต่างๆ ในการใช้งานคำสั่ง netstat ด้วยคำสั่ง netstat /? ดังรูปที่ 1
คำอธิบาย
-a : แสดงสถานะทั้งหมดในการติดต่อสื่อสารของเครื่องผู้ใช้งาน (Client)
-b : แสดงรายชื่อโปรแกรมที่ใช้ในการสร้างการติดต่อสื่อสาร
ของเครื่องผู้ใช้งาน (Client)
-e : แสดงสถิติการรับส่งข้อมูลในการติดต่อสื่อสารบนขา Ethernet เป็นขนาดไบต์
-f : แสดงชื่อเต็มของ Domain name
-n : แสดง ip address และ port number แทนชื่อเครื่องหรือชื่อเว็บไซต์
-o : แสดง PID (process id) ในการติดต่อสื่อสาร
-p : แสดงเฉพาะโปรโตคอล (protocol) ที่สนใจเท่านั้น เช่น TCP, UDP ,IP เป็นต้น
-r : แสดงเส้นทาง (Routing) การติดต่อสื่อสารในการติดต่อสื่อสารระหว่างเครื่องผู้ใช้งาน (Client) กับเครื่องให้บริการแม่ข่าย (Server)
-s : แสดงสถิติการรับส่งข้อมูลในการติดต่อสื่อสารบนโปรโตคอล (protocol) เช่น TCP, UDP ,IP เป็นต้น สามารถใช้งานกับ option -p เพื่อใช้ในการเจาะจงโปรโตคอล (protocol) ที่จะให้แสดงสถิติได้
-t :แสดงสถานะ TCP offload
interval แสดงสถานะการติดต่อสื่อสารแบบต่อเนื่องด้วยการกำหนดเวลาเป็นวินาทีในการแสดงผล
2. ดูรายละเอียดพารามิเตอร์ต่างๆ ในการแสดงผล ดังรูปที่ 2
Proto : แสดงชื่อโปรโตคอลที่ถูกใช้งาน TCP หรือ UDP
Local Address : แสดงหมายเลข IP Address และ port number ของเครื่องผู้ใช้งานที่ใช้ในการติดต่อสื่อสาร
Foreign Address : แสดงหมาย IP Address และ port number ของเครื่องปลายทางที่ใช้ในการติดต่อสื่อสาร
State : แสดงสถานะการติดต่อสื่อสารระหว่างเครื่องผู้ใช้งาน (Client) กับเครื่องให้บริการแม่ข่าย (Server) หรือระบบเครือข่ายเน็ตเวิร์ก (Network) ซึ่งรายละเอียด ดังนี้
CLOSE_WAIT : รอการยกเลิกการเชื่อมต่อของเครื่องต้นทาง
CLOSED : ปิดการเชื่อมต่อทั้งหมด
ESTABLISHED : สถาปนาการเชื่อมต่อสำเร็จ
FIN_WAIT_1 : รอการตอบกลับการร้องขอยกเลิกการเชื่อมต่อไปที่เครื่องปลายทางหรือรับทราบการร้องขอยกเลิกการเชื่อมต่อในก่อนหน้านี้
FIN_WAIT_2 : รอการตอบกลับการร้องขอยกเลิกการเชื่อมต่อไปที่เครื่องปลายทาง
LAST_ACK : รอการรับรู้ตอบกลับการร้องขอยกเลิกการเชื่อมต่อจากเครื่องปลายทาง
LISTEN : รอการเชื่อมต่อ
SYN_RECEIVED : รอการตอบกลับเพื่อยืนยันการร้องขอในการเชื่อมต่อ
SYN_SEND : ร้องขอการเชื่อมต่อไปที่เครื่องปลายทาง
TIMED_WAIT : ระยะเวลาที่ใช้ในการรอขอยกเลิกการเชื่อมต่อไปที่เครื่องปลายทางตอบกลับมา
3. ตัวอย่างการใช้งานคำสั่ง netstat ที่ใช้งานเป็นประจำ
3.1 netstat -ano
แสดงรายละเอียดทั้ง IP Address และ port number รวมไปถึง PID (process id)
3.2 netstat -e -s
แสดงรายละเอียดสถิติในการรับส่งข้อมูล
3.3 netstat -ab
แสดงรายละเอียดชื่อโปรแกรมที่ใช้ในการสร้างการติดต่อสื่อสาร
3.4 netstat -ano | findstr :80
แสดงรายละเอียดเฉพาะการเชื่อมต่อไปที่ port 80
3.5 netstat -ano | findstr 202.183.165.*
แสดงรายละเอียดเฉพาะเบอร์ไอพีที่สนใจเท่านั้น
3.6 netstat -ano 10 | findstr :80
แสดงสถานะการเชื่อมต่อแบบต่อเนื่องทุกๆ 10 วินาทีที่ port 80
3.7 netstat -ano | more
แสดงรายละเอียดครั้งละประมาณ 50 บรรทัด
3.8 netstat -ano | findstr LISTEN
แสดงสถานะรอการเชื่อมต่อ
3.9 netstat -ano | findstr :80 | findstr ESTABLISHED
แสดงสถานะการเชื่อมต่อเครื่องผู้ใช้งานกับเครื่องปลายทาง
3.10 netstat -rn
แสดงรายละเอียดเส้นทางการเชื่อมต่อของเครื่องผู้ใช้งาน
3.11 netstat -an >c:\netstat.txt
เก็บข้อมูลการแสดงรายละเอียดลงไฟล์เพื่อใช้ในการวิเคราะห์
4. สามารถใช้รายละเอียด port ของ trojan horses ที่เว็บไซต์ http://www.sans.org/security-resources/idfaq/oddports.php เพื่อใช้ในการวิเคราะห์และตรวจสอบการเชื่อมต่อบนเครื่องผู้ใช้งานว่าถูกเชื่อมต่อไปไปยัง port ต่างๆ เหล่านี้หรือไม่
อ้างอิง
www.microsoft.com
tools.ietf.org/html/rfc793
เครดิต : พี่ชอง