คำสั่ง netstat ซึ่งหมายถึงสถิติเครือข่าย เป็นคำสั่งพร้อมรับคำสั่งที่ใช้เพื่อแสดงข้อมูลโดยละเอียดเกี่ยวกับวิธีที่คอมพิวเตอร์ของคุณสื่อสารกับคอมพิวเตอร์เครื่องอื่นหรืออุปกรณ์เครือข่าย
โดยเฉพาะ มันสามารถแสดงรายละเอียดเกี่ยวกับการเชื่อมต่อเครือข่ายแต่ละรายการ สถิติเครือข่ายโดยรวมและเฉพาะโปรโตคอล และอื่นๆ อีกมากมาย ซึ่งทั้งหมดนี้สามารถช่วยแก้ไขปัญหาเครือข่ายบางประเภทได้
พร้อมใช้งานคำสั่ง Netstat
คำสั่งนี้มีอยู่ใน Command Prompt ใน Windows เกือบทุกเวอร์ชัน รวมถึง Windows 11, Windows 10, Windows 8, Windows 7, Windows Vista, Windows XP, ระบบปฏิบัติการ Windows Server และ Windows รุ่นเก่าบางรุ่น เช่นกัน
Netstat เป็นคำสั่งข้ามแพลตฟอร์ม ซึ่งหมายความว่ายังมีให้ใช้งานในระบบปฏิบัติการอื่นๆ เช่น macOS และ Linux
ความพร้อมใช้งานของสวิตช์คำสั่ง netstat บางตัวและรูปแบบคำสั่ง netstat อื่นๆ อาจแตกต่างไปจากระบบปฏิบัติการกับระบบปฏิบัติการ
ไวยากรณ์คำสั่ง Netstat
netstat [- a] [ b] [- e] [- f] [- n] [- o] [-p โปรโตคอล] [-r ] [-s ] [-t] [- x] [- y] [time_interval] [ /?]
รายการคำสั่ง Netstat | |
---|---|
Option | คำอธิบาย |
netstat | ดำเนินการคำสั่ง netstat เพียงอย่างเดียวเพื่อแสดงรายการการเชื่อมต่อ TCP ที่ใช้งานอยู่ทั้งหมดซึ่งจะแสดงที่อยู่ IP ในเครื่อง (คอมพิวเตอร์ของคุณ) ที่อยู่ IP ต่างประเทศ (คอมพิวเตอร์เครื่องอื่นหรืออุปกรณ์เครือข่าย) พร้อมด้วยหมายเลขพอร์ตที่เกี่ยวข้อง ตลอดจนสถานะ TCP |
- a | สวิตช์นี้แสดงการเชื่อมต่อ TCP ที่ใช้งานอยู่ การเชื่อมต่อ TCP กับสถานะการรับฟัง ตลอดจนพอร์ต UDP ที่กำลังรับฟัง |
-b | สวิตช์ netstat นี้คล้ายกับสวิตช์ - o ที่แสดงด้านล่างมาก แต่จะแสดงชื่อไฟล์จริงของกระบวนการแทนการแสดง PID การใช้ - b ทับ - o อาจดูเหมือนช่วยให้คุณประหยัดเวลาได้หนึ่งหรือสองขั้นตอน แต่บางครั้งการใช้ก็ช่วยยืดเวลาการทำงานของ netstat ได้อย่างมาก. |
- e | ใช้สวิตช์นี้กับคำสั่ง netstat เพื่อแสดงสถิติเกี่ยวกับการเชื่อมต่อเครือข่ายของคุณ ข้อมูลนี้รวมถึงไบต์ แพ็กเก็ต unicast แพ็กเก็ตที่ไม่ใช่ unicast การละทิ้ง ข้อผิดพลาด และโปรโตคอลที่ไม่รู้จักที่ได้รับและส่งตั้งแต่สร้างการเชื่อมต่อ |
- f | สวิตช์ - f จะบังคับคำสั่ง netstat ให้แสดงชื่อโดเมนที่ผ่านการรับรองโดยสมบูรณ์ (FQDN) สำหรับที่อยู่ IP ต่างประเทศแต่ละรายการเมื่อเป็นไปได้ |
- n | ใช้สวิตช์ - n เพื่อป้องกันไม่ให้ netstat พยายามระบุชื่อโฮสต์สำหรับที่อยู่ IP ต่างประเทศ ขึ้นอยู่กับการเชื่อมต่อเครือข่ายปัจจุบันของคุณ การใช้สวิตช์นี้สามารถลดเวลาที่ใช้ในการดำเนินการ netstat ได้อย่างมาก |
- o | ตัวเลือกที่สะดวกสำหรับงานแก้ไขปัญหาหลายอย่าง สวิตช์ - o จะแสดงตัวระบุกระบวนการ (PID) ที่เกี่ยวข้องกับการเชื่อมต่อที่แสดงแต่ละรายการ ดูตัวอย่างด้านล่างสำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้ netstat -o. |
- p | ใช้สวิตช์ - p เพื่อแสดงการเชื่อมต่อหรือสถิติสำหรับโปรโตคอลเฉพาะ คุณไม่สามารถกำหนดโปรโตคอลได้มากกว่าหนึ่งโปรโตคอลในคราวเดียว และไม่สามารถรัน netstat ด้วย - p โดยไม่กำหนดโปรโตคอลได้ |
โปรโตคอล | เมื่อระบุโปรโตคอลด้วยตัวเลือก - p คุณสามารถใช้ tcp, udp, tcpv6 หรือ udpv6 หากคุณใช้ - s กับ - p เพื่อดูสถิติตามโปรโตคอล คุณสามารถใช้ icmp, ip, icmpv6 หรือ ipv6 นอกเหนือจากสี่ตัวแรกที่ฉันพูดถึง |
-r | รัน netstat ด้วย - r เพื่อแสดงตารางการกำหนดเส้นทาง IP สิ่งนี้เหมือนกับการใช้คำสั่งเส้นทางเพื่อดำเนินการ การพิมพ์เส้นทาง. |
-s | ตัวเลือก - s สามารถใช้กับคำสั่ง netstat เพื่อแสดงสถิติโดยละเอียดตามโปรโตคอล คุณสามารถจำกัดสถิติที่แสดงเป็นโปรโตคอลเฉพาะโดยใช้ - s ตัวเลือก และระบุโปรโตคอลนั้น แต่อย่าลืมใช้ - s ก่อน- p โปรโตคอลเมื่อใช้สวิตช์ร่วมกัน |
- t | ใช้สวิตช์ - t เพื่อแสดงสถานะการถ่ายโอนปล่องไฟ TCP ปัจจุบันแทนที่สถานะ TCP ที่แสดงโดยทั่วไป |
- x | ใช้ตัวเลือก - x เพื่อแสดงรายการฟัง NetworkDirect ทั้งหมด การเชื่อมต่อ และอุปกรณ์ปลายทางที่ใช้ร่วมกัน |
-y | สวิตช์ - y สามารถใช้เพื่อแสดงแม่แบบการเชื่อมต่อ TCP สำหรับการเชื่อมต่อทั้งหมด คุณไม่สามารถใช้ - y กับตัวเลือก netstat อื่น ๆ ได้ |
time_in ช่วงเวลา | นี่คือเวลาที่คุณต้องการให้คำสั่ง netstat ทำงานใหม่โดยอัตโนมัติ โดยจะหยุดเมื่อคุณใช้ Ctrl-C เพื่อสิ้นสุดลูปเท่านั้น |
/? | ใช้สวิตช์ความช่วยเหลือเพื่อแสดงรายละเอียดเกี่ยวกับตัวเลือกต่างๆ ของคำสั่ง netstat |
ทำให้ข้อมูล netstat ทั้งหมดในบรรทัดคำสั่งทำงานได้ง่ายขึ้นด้วยการแสดงผลสิ่งที่คุณเห็นบนหน้าจอไปยังไฟล์ข้อความโดยใช้ตัวดำเนินการเปลี่ยนเส้นทาง ดูวิธีการเปลี่ยนเส้นทางเอาต์พุตคำสั่งไปยังไฟล์สำหรับคำแนะนำที่สมบูรณ์
ตัวอย่างคำสั่ง Netstat
นี่คือตัวอย่างต่างๆ ที่แสดงวิธีใช้คำสั่ง netstat:
แสดงการเชื่อมต่อ TCP ที่ใช้งานอยู่
netstat -f
ในตัวอย่างแรกนี้ เรารัน netstat เพื่อแสดงการเชื่อมต่อ TCP ที่ใช้งานอยู่ทั้งหมด อย่างไรก็ตาม เราต้องการเห็นคอมพิวเตอร์ที่เราเชื่อมต่อในรูปแบบ FQDN [- f] แทนที่จะเป็นที่อยู่ IP ธรรมดา
นี่คือตัวอย่างสิ่งที่คุณอาจเห็น:
การเชื่อมต่อที่ใช้งานอยู่
สถานะที่อยู่ต่างประเทศที่อยู่ต่างประเทศของโปรโต
TCP 127.0.0.1:5357 VM-Windows-7: 49229 TIME_WAIT
TCP 127.0.0.1:49225 VM-Windows-7:12080 TIME_WAIT
TCP 192168.1.14:49194 75.125.212.75:http CLOSE_WAIT
TCP 192.168.1.14:49196 a795sm.avast.com:http CLOSE_WAIT
TCP 192.168.1.14: 49197 a795sm.avast.com:http CLOSE_WAIT
TCP 192.168.1.14:49230 TIM-PC:wsd TIME_WAIT
TCP 192.168.1.14:49231 TIM-PC:icslap ESTABLISHED
TCP 192.168.1.14:49232 TIM-PC:netbios-ssn TIME_WAIT
TCP 192.168.1.14:49233 TIM-PC:netbios-ssn TIME_WAIT
TCP [::1]:2869 VM-Windows-7:49226 ESTABLISHED
TCP [::1]:49226 VM-Windows-7:icslap ก่อตั้งแล้ว
อย่างที่คุณเห็น มีการเชื่อมต่อ TCP ที่ใช้งานอยู่ 11 รายการในขณะที่ดำเนินการ netstat ในตัวอย่างนี้ โปรโตคอลเดียว (ในคอลัมน์โปรโต) ที่แสดงคือ TCP ซึ่งเป็นไปตามที่คาดไว้เนื่องจากเราไม่ได้ใช้ - a.
คุณยังสามารถดูที่อยู่ IP สามชุดในคอลัมน์ Local Address ซึ่งเป็นที่อยู่ IP จริงของ 192.168.1.14 และที่อยู่ลูปแบ็คทั้งเวอร์ชัน IPv4 และ IPv6 พร้อมกับพอร์ตที่การเชื่อมต่อแต่ละอันใช้อยู่คอลัมน์ที่อยู่ต่างประเทศแสดงรายการ FQDN (75.125.212.75 ไม่ได้รับการแก้ไขด้วยเหตุผลบางประการ) พร้อมกับพอร์ตนั้นด้วย
สุดท้าย คอลัมน์สถานะจะแสดงสถานะ TCP ของการเชื่อมต่อนั้น
แสดงการเชื่อมต่อและตัวระบุกระบวนการ
netstat -o
ในตัวอย่างนี้ netstat จะทำงานตามปกติ ดังนั้นมันจะแสดงเฉพาะการเชื่อมต่อ TCP ที่ใช้งานอยู่ แต่เรายังต้องการดูตัวระบุกระบวนการที่เกี่ยวข้อง [- o] สำหรับแต่ละการเชื่อมต่อ ดังนั้น ที่เราสามารถกำหนดได้ว่าโปรแกรมใดบนคอมพิวเตอร์ที่เริ่มต้นแต่ละโปรแกรม
นี่คือสิ่งที่คอมพิวเตอร์แสดง:
การเชื่อมต่อที่ใช้งาน
โปรโตที่อยู่ท้องถิ่นที่อยู่ต่างประเทศรัฐ PID
TCP 192.168.1.14:49194 75.125.212.75:http CLOSE_WAIT 2948
TCP 192.168.1.14:49196 a795sm:http CLOSE_WAIT 2948
TCP 192.168.1.14:49197 a795sm:http CLOSE_WAIT 2948
คุณอาจสังเกตเห็นคอลัมน์ PID ใหม่ ในกรณีนี้ PID จะเหมือนกันทั้งหมด หมายความว่าโปรแกรมเดียวกันบนคอมพิวเตอร์เปิดการเชื่อมต่อเหล่านี้
ในการพิจารณาว่าโปรแกรมใดแสดงโดย PID ของ 2948 บนคอมพิวเตอร์ สิ่งที่คุณต้องทำคือเปิดตัวจัดการงาน เลือกแท็บ Processes และจดชื่อภาพ อยู่ถัดจาก PID ที่เรากำลังมองหาในคอลัมน์ PID1
การใช้คำสั่ง netstat กับตัวเลือก - o จะมีประโยชน์มากในการติดตามว่าโปรแกรมใดใช้แบนด์วิดท์ของคุณมากเกินไป นอกจากนี้ยังสามารถช่วยระบุตำแหน่งปลายทางที่มัลแวร์บางประเภท หรือแม้แต่ซอฟต์แวร์ที่ถูกต้องตามกฎหมาย อาจส่งข้อมูลโดยไม่ได้รับอนุญาตจากคุณ
ทั้งนี้และตัวอย่างก่อนหน้านี้ทำงานบนคอมพิวเตอร์เครื่องเดียวกัน และภายในเวลาเพียงหนึ่งนาทีเท่านั้น คุณจะเห็นว่ารายการการเชื่อมต่อ TCP ที่ใช้งานอยู่แตกต่างกันมาก เนื่องจากคอมพิวเตอร์ของคุณเชื่อมต่อและตัดการเชื่อมต่อจากอุปกรณ์อื่นๆ บนเครือข่ายของคุณและทางอินเทอร์เน็ตอย่างต่อเนื่อง
แสดงการเชื่อมต่อเฉพาะ
netstat -0 | findstr 28604
ตัวอย่างด้านบนคล้ายกับที่เราได้ดูไปแล้ว แต่แทนที่จะแสดงการเชื่อมต่อทั้งหมด เรากำลังบอกให้คำสั่ง netstat แสดงเฉพาะการเชื่อมต่อที่ใช้ PID เฉพาะ 28604 ในตัวอย่างนี้
สามารถใช้คำสั่งที่คล้ายกันเพื่อกรองการเชื่อมต่อกับสถานะ CLOSE_WAIT โดยแทนที่ PID ด้วย ESTABLISHED
แสดงสถิติเฉพาะโปรโตคอล
netstat -s -p tcp -f
ในตัวอย่างนี้ เราต้องการดูสถิติเฉพาะโปรโตคอล [- s] แต่ไม่ใช่ทั้งหมด แค่สถิติ TCP [- ptcp]. นอกจากนี้เรายังต้องการให้ที่อยู่ต่างประเทศแสดงในรูปแบบ FQDN [-f ].
นี่คือสิ่งที่คำสั่ง netstat ดังที่แสดงไว้ด้านบน สร้างบนคอมพิวเตอร์ตัวอย่าง:
สถิติ TCP สำหรับ IPv4
เปิดที่ใช้งานอยู่=77
Passive เปิด=21
ความพยายามในการเชื่อมต่อล้มเหลว=2 รีเซ็ตการเชื่อมต่อ=25 การเชื่อมต่อปัจจุบัน=5 กลุ่มที่ได้รับ=7313 กลุ่มที่ส่ง=4824 กลุ่มที่ส่งซ้ำ=5การเชื่อมต่อที่ใช้งาน โปรโต ที่อยู่ในท้องถิ่น ที่อยู่ต่างประเทศ รัฐ TCP 1270.0.1:2869 VM-Windows-7:49235 TIME_WAIT TCP 127.0.0.1:2869 VM-Windows-7:49238 ESTABLISHED TCP 127.0 0.1:49238 VM-Windows-7:icslap ESTABLISHED TCP 192.168.1.14:49194 75.125.212.75:http CLOSE_WAIT TCP 192.168.1.14:49196 a795sm.avast.com:http CLOSE_WAIT TCP 192.168.1.14:49197 a795sm.avast.com:http CLOSE_WAIT
อย่างที่คุณเห็น สถิติต่างๆ สำหรับโปรโตคอล TCP จะแสดงขึ้น เช่นเดียวกับการเชื่อมต่อ TCP ที่ใช้งานอยู่ทั้งหมดในขณะนั้น
แสดงสถิติเครือข่ายที่อัปเดต
netstat -e -t 5
ในตัวอย่างสุดท้ายนี้ คำสั่ง netstat จะดำเนินการเพื่อแสดงสถิติอินเทอร์เฟซเครือข่ายพื้นฐาน [- e] และเพื่อให้สถิติเหล่านี้อัปเดตอย่างต่อเนื่องในหน้าต่างคำสั่งทุก ๆ ห้าวินาที [- t 5].
นี่คือสิ่งที่ผลิตในจอ:
สถิติอินเทอร์เฟซ
ส่งแล้ว
ไบต์ 22132338 1846834
แพ็คเก็ต Unicast 19113 9869
แพ็กเก็ตที่ไม่ใช่ unicast 0 0
ทิ้ง 0 0
ข้อผิดพลาด 0 0
โปรโตคอลที่ไม่รู้จัก 0สถิติอินเทอร์เฟซ ส่งแล้ว ไบต์ 22134630 1846834
แพ็คเก็ต Unicast 19128 9869
แพ็คเก็ตที่ไม่ใช่ Unicast 0 0
ทิ้ง 0 0
ข้อผิดพลาด 0 0
โปรโตคอลที่ไม่รู้จัก 0
^C
ข้อมูลต่างๆ ที่คุณสามารถดูได้ที่นี่ และที่เราระบุไว้ใน - e ไวยากรณ์ด้านบน จะแสดงขึ้น
คำสั่ง netstat ดำเนินการโดยอัตโนมัติเพียงครั้งเดียวเท่านั้น ดังที่คุณเห็นจากตารางทั้งสองในผลลัพธ์ สังเกต ^C ที่ด้านล่าง ซึ่งระบุว่าคำสั่ง Ctrl+C abort ถูกใช้เพื่อหยุดการรันคำสั่งอีกครั้ง
คำสั่งที่เกี่ยวข้องของ Netstat
คำสั่ง netstat มักใช้กับคำสั่ง Command Prompt ที่เกี่ยวข้องกับเครือข่ายอื่นๆ เช่น nslookup, ping, tracert, ipconfig และอื่นๆ
[1] คุณอาจต้องเพิ่มคอลัมน์ PID ในตัวจัดการงาน คุณสามารถทำได้โดยเลือก PID หลังจากคลิกขวาที่ส่วนหัวของคอลัมน์ในแท็บ Process หากคุณใช้ Windows 7 หรือระบบปฏิบัติการ Windows รุ่นเก่ากว่า ให้เลือกช่องทำเครื่องหมาย PID (ตัวระบุกระบวนการ) จาก View > Select คอลัมน์ ในตัวจัดการงาน คุณอาจต้องเลือก แสดงกระบวนการจากผู้ใช้ทั้งหมด จากด้านล่างของแท็บ Processes หาก PID ที่คุณกำลังมองหาไม่อยู่ในรายการ.