Skip to main content

วิธีการใช้คำสั่ง Netstat

Basic Network Command - netstat, telnet โดย Mr.Jodoi (อาจ 2024)

Basic Network Command - netstat, telnet โดย Mr.Jodoi (อาจ 2024)
Anonim

คำสั่ง netstat คือคำสั่ง Command Prompt ที่ใช้ในการแสดงผล มาก ข้อมูลโดยละเอียดเกี่ยวกับวิธีที่คอมพิวเตอร์ของคุณสื่อสารกับคอมพิวเตอร์เครื่องอื่นหรืออุปกรณ์เครือข่าย

โดยเฉพาะคำสั่ง netstat สามารถแสดงรายละเอียดเกี่ยวกับการเชื่อมต่อเครือข่ายแต่ละเครือข่ายสถิติเครือข่ายโดยรวมและเฉพาะโพรโทคอลและอื่น ๆ ซึ่งทั้งหมดนี้อาจช่วยแก้ปัญหาเกี่ยวกับเครือข่ายบางประเภท

ความพร้อมใช้งานคำสั่งของ Netstat

คำสั่ง netstat สามารถใช้ได้จากภายใน Command Prompt ใน Windows ส่วนใหญ่ ได้แก่ Windows 10, Windows 8, Windows 7, Windows Vista, Windows XP, ระบบปฏิบัติการ Windows Server และ Windows รุ่นเก่าบางรุ่นด้วย

ความพร้อมใช้งานของสวิตช์คำสั่ง netstat และไวยากรณ์คำสั่ง netstat อื่น ๆ อาจแตกต่างจากระบบปฏิบัติการกับระบบปฏิบัติการ

ไวยากรณ์คำสั่งของ Netstat

netstat -a -b -e -f -n -o -p โปรโตคอล -r -s t- -x -y TIME_INTERVAL /?

วิธีการอ่านไวยากรณ์คำสั่ง

ดำเนินการคำสั่ง 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 โดยไม่กำหนด a โปรโตคอล .

โปรโตคอล = เมื่อระบุ a โปรโตคอล กับ -p คุณสามารถใช้ TCP, UDP, tcpv6, หรือ udpv6. ถ้าคุณใช้ -s กับ -p เพื่อดูสถิติตามโปรโตคอลคุณสามารถใช้ ICMP, IP, ICMPv6, หรือ IPv6 นอกเหนือไปจากสี่แรกที่ฉันกล่าวถึง

-r = ดำเนินการ netstat ด้วย -r เพื่อแสดงตารางเส้นทาง IP นี่เหมือนกับการใช้คำสั่ง route ที่จะรัน พิมพ์เส้นทาง.

-s = -s สามารถใช้กับคำสั่ง netstat เพื่อแสดงสถิติโดยละเอียดตามโปรโตคอล คุณสามารถ จำกัด สถิติที่แสดงในโปรโตคอลเฉพาะได้โดยใช้ -s และระบุว่า โปรโตคอล แต่อย่าลืมใช้ -s ก่อน -p โปรโตคอล เมื่อใช้สวิตช์ร่วมกัน

t- = ใช้ t- เปลี่ยนเพื่อแสดง TCP ปัจจุบันปล่องไฟสถานะ offload ในตำแหน่งของรัฐ TCP ที่แสดงโดยทั่วไป

-x = ใช้ -x เพื่อแสดงเครื่องรับฟังการเชื่อมต่อและอุปกรณ์ปลายทางที่ใช้ร่วมกันทั้งหมดของ NetworkDirect

-y = -y สามารถใช้เพื่อแสดงเทมเพลตการเชื่อมต่อ TCP สำหรับการเชื่อมต่อทั้งหมด คุณไม่สามารถใช้ -y กับตัวเลือก netstat อื่น ๆ

TIME_INTERVAL = นี่คือเวลาเป็นวินาทีที่คุณต้องการให้คำสั่ง netstat ทำการดำเนินการใหม่โดยอัตโนมัติหยุดเฉพาะเมื่อคุณใช้ Ctrl-C เพื่อสิ้นสุดลูป

/? = ใช้สวิตช์ความช่วยเหลือเพื่อแสดงรายละเอียดเกี่ยวกับตัวเลือกหลายคำสั่งของ netstat

ทำให้ข้อมูล netstat ทั้งหมดในบรรทัดคำสั่งใช้งานได้ง่ายขึ้นโดยการแสดงผลสิ่งที่คุณเห็นบนหน้าจอไปยังไฟล์ข้อความโดยใช้ตัวดำเนินการเปลี่ยนเส้นทาง ดูวิธีการเปลี่ยนเส้นทางคำสั่งไปยังไฟล์สำหรับคำแนะนำที่สมบูรณ์

ตัวอย่างคำสั่ง Netstat

netstat -f

ในตัวอย่างแรกนี้ฉันจะรัน netstat เพื่อแสดงการเชื่อมต่อ TCP ที่ใช้งานอยู่ทั้งหมด แต่ฉันต้องการจะดูคอมพิวเตอร์ที่ฉันเชื่อมต่ออยู่ในรูปแบบ FQDN -f แทนที่อยู่ IP แบบธรรมดา

นี่คือตัวอย่างของสิ่งที่คุณอาจเห็น:

การเชื่อมต่อที่ใช้งานอยู่ Proto Local Address รัฐที่อยู่ต่างประเทศ 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 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 192.168.1.14:49230 TIM-PC: wsd TIME_WAIT TCP 192.168.1.14:49231 TIM-PC: ตั้งค่า icslap 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: สร้างการกำหนดเอง

ที่คุณเห็นมีการเชื่อมต่อ TCP ที่ใช้งานอยู่ 11 ครั้งในขณะที่ netstat ถูกดำเนินการในตัวอย่างนี้ โปรโตคอลเท่านั้น (ใน โปรโต คอลัมน์) ที่ระบุไว้คือ TCP ซึ่งเป็นที่คาดเนื่องจากฉันไม่ได้ใช้ -a.

นอกจากนี้คุณยังสามารถดูที่อยู่ IP สามชุดได้ใน ที่อยู่ในท้องถิ่น คอลัมน์ที่อยู่ IP จริงของฉัน 192.168.1.14 และที่อยู่ย้อนกลับของ IPv4 และ IPv6 รวมทั้งพอร์ตที่ใช้การเชื่อมต่อแต่ละครั้ง ที่อยู่ต่างประเทศ คอลัมน์แสดง FQDN ( 75.125.212.75 ไม่สามารถแก้ปัญหาด้วยเหตุผลบางอย่าง) พร้อมกับพอร์ตนั้นเช่นกัน

สุดท้ายนี้ สถานะ คอลัมน์แสดงสถานะ TCP ของการเชื่อมต่อนั้น ๆ

netstat -o

ในตัวอย่างนี้ netstat จะทำงานได้ตามปกติดังนั้นจึงแสดงเฉพาะการเชื่อมต่อ TCP ที่ใช้งานได้ แต่เรายังต้องการดูตัวระบุกระบวนการที่เกี่ยวข้อง -o สำหรับการเชื่อมต่อแต่ละครั้งเพื่อให้เราสามารถกำหนดว่าโปรแกรมใดในเครื่องคอมพิวเตอร์แต่ละเครื่องเริ่มต้น

นี่คือสิ่งที่คอมพิวเตอร์แสดง:

การเชื่อมต่อที่ใช้งานอยู่ Proto Local Address รัฐที่อยู่ต่างประเทศ 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 บนคอมพิวเตอร์สิ่งที่คุณต้องทำก็คือเปิด Task Manager คลิกที่ปุ่ม กระบวนการ และจดบันทึก ชื่อรูปภาพ อยู่ถัดจาก PID ที่ฉันกำลังมองหาใน PID คอลัมน์.1

ใช้คำสั่ง netstat พร้อมกับ -o จะมีประโยชน์มากเมื่อติดตามว่าโปรแกรมใดใช้แบนด์วิธร่วมกันมากเกินไป นอกจากนี้ยังสามารถช่วยค้นหาปลายทางที่มัลแวร์บางประเภทหรือแม้แต่ชิ้นส่วนที่ถูกต้องตามกฎหมายของซอฟต์แวร์อาจส่งข้อมูลโดยไม่ได้รับอนุญาตจากคุณ

ขณะนี้และตัวอย่างก่อนหน้านี้ทำงานทั้งสองอย่างบนคอมพิวเตอร์เครื่องเดียวกันและภายในเวลาเพียงไม่กี่นาทีของแต่ละอื่น ๆ คุณจะเห็นได้ว่ารายการการเชื่อมต่อ TCP ที่ใช้งานอยู่มีความแตกต่างกันมาก เนื่องจากคอมพิวเตอร์ของคุณกำลังเชื่อมต่ออยู่ตลอดเวลาและตัดการเชื่อมต่ออุปกรณ์อื่น ๆ ในเครือข่ายของคุณและผ่านทางอินเทอร์เน็ต

netstat -s -p tcp -f

ในตัวอย่างที่สามนี้เราต้องการดูสถิติเฉพาะโพรโทคอล -s แต่ไม่ทั้งหมดของพวกเขาเพียง TCP สถิติ -p TCP เราต้องการให้ที่อยู่ต่างประเทศแสดงในรูปแบบ FQDN -f.

นี่คือสิ่งที่คำสั่ง netstat ดังที่แสดงไว้ด้านบนที่ผลิตในคอมพิวเตอร์ตัวอย่าง:

สถิติ TCP สำหรับ IPv4 เปิดใช้งาน = 77 Passive Opens = 21 ความพยายามในการเชื่อมต่อล้มเหลว = 2 รีเซ็ตการเชื่อมต่อ = 25 การเชื่อมต่อปัจจุบัน = 5 กลุ่มที่ได้รับ = 7313 กลุ่มที่ส่งแล้ว = 4824 Segments Retransmitted = 5 การเชื่อมต่อที่ใช้งานอยู่ Proto Local Address รัฐที่อยู่ต่างประเทศ TCP 127.0.0.1:2869 VM-Windows-7: 49235 TIME_WAIT TCP 127.0.0.1:2869 VM-Windows-7: 49238 ก่อตั้งขึ้น TCP 127.0.0.1:49238 VM-Windows-7: ตั้งค่า icslap 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 เพื่อให้สถิติเหล่านี้มีการปรับปรุงอย่างต่อเนื่องในหน้าต่างคำสั่งทุกๆ 5 วินาที t- 5 .

นี่คือสิ่งที่ผลิตบนหน้าจอ:

สถิติการเชื่อมต่อ รับส่งแล้ว ไบต์ 22132338 1846834 Unicast packets 19113 9869 แพ็คเก็ตที่ไม่ใช่แบบ unicast 0 0 ยกเลิก 0 0 ข้อผิดพลาด 0 0 โปรโตคอลที่ไม่รู้จัก 0 สถิติการเชื่อมต่อ รับส่งแล้ว ไบต์ 22134630 1846834 Unicast packets 19128 9869 แพ็คเก็ตที่ไม่ใช่แบบ unicast 0 0 ยกเลิก 0 0 ข้อผิดพลาด 0 0 โปรโตคอลที่ไม่รู้จัก 0 ^ C

ข้อมูลต่างๆที่คุณสามารถดูได้ที่นี่และที่ฉันระบุไว้ใน -e ไวดานบนจะปรากฏขึ้น

คำสั่ง netstat จะทำงานโดยอัตโนมัติเพียงครั้งเดียวเท่านั้นโดยที่คุณสามารถดูได้จากตารางทั้งสองในผลลัพธ์ หมายเหตุ ^ C ที่ด้านล่างแสดงให้เห็นว่ามีการใช้คำสั่งยกเลิกการใช้งาน Ctrl-C เพื่อหยุดการทำงานอีกครั้งของคำสั่ง

คำสั่งที่เกี่ยวข้องกับ Netstat

คำสั่ง netstat มักใช้กับคำสั่ง Command Prompt ของเครือข่ายอื่น ๆ เช่น nslookup, ping, tracert, ipconfig และอื่น ๆ

1 คุณอาจต้องเพิ่มคอลัมน์ PID ด้วยตนเองเพื่อ Task Manager คุณสามารถทำได้โดยการเลือกกล่องกาเครื่องหมาย "PID (Process Identifier)" จากมุมมอง -> เลือกคอลัมน์ในตัวจัดการงาน นอกจากนี้คุณอาจต้องคลิกที่ปุ่ม "แสดงกระบวนการจากผู้ใช้ทั้งหมด" ในแท็บกระบวนการหาก PID ที่คุณต้องการไม่อยู่ในรายการ