การวิเคราะห์ระบบเครือข่าย network ด้วย netstat command บนระบบปฎิบัติการ Windows

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

เครดิต : พี่ชอง