คำสั่งเครือข่าย Windows ใน Linux: 5 สิ่งที่คุณควรรู้ (รวมถึงเทคนิค WSL)

/th/images/linux-mascot-networking-commands.png

หากคุณเคยใช้คำสั่งเครือข่ายบน Windows เช่น ping และ Tracert คุณอาจสงสัยว่าคุณสามารถใช้คำสั่งเหล่านี้บน Linux ได้หรือไม่ ไม่ว่าจะเป็นคำสั่งเดียวหรือเป็นส่วนหนึ่งของ WSL โชคดีที่คุณทำได้

ปิง

ฉันจำได้ว่านั่งอยู่ในชั้นเรียนระบบเครือข่ายคอมพิวเตอร์ในวิทยาลัย ตอนที่ผู้สอนสาธิตการใช้คำสั่ง ping ใน Command Prompt ของ Windows มันเป็นจุดเริ่มต้นของความสัมพันธ์ตลอดชีวิต แม้ว่าจะข้ามระบบปฏิบัติการและกลับมาเต็มวงกับ WSL ก็ตาม

วิธีที่ง่ายที่สุดในการใช้ ping ในบรรทัดคำสั่ง Linux และ WSL คือการใช้ ping ตามด้วยที่อยู่ IP หรือชื่อโดเมน


ping google.com

/th/images/wsl-ping.png


ping 127.0.0.1

ส่วนหลังจะส่ง Ping ไปที่ “อุปกรณ์ย้อนกลับ” หรืออินเทอร์เฟซของเครื่องท้องถิ่นของคุณ การ Ping มีประโยชน์ในการพิจารณาว่าโฮสต์ใช้งานอยู่หรือไม่ หรืออย่างน้อยก็ตอบสนองต่อคำขอ Ping โฮสต์บางแห่งจะยังคงใช้งานได้ แต่ปฏิเสธคำขอ Ping เพื่อความปลอดภัย Ping ยังมีประโยชน์ในการพิจารณาว่าไซต์นั้นใช้งานไม่ได้สำหรับทุกคนหรือเฉพาะคุณเท่านั้น

ลักษณะการทำงานเริ่มต้นของ ping บน Linux และระบบที่คล้าย Unix อื่นๆ นั้นแตกต่างจาก Windows บน Windows คำสั่ง ping จะทำงานสี่ครั้ง บน Linux การ ping จะทำงานตลอดไปจนกว่าคุณจะกด Ctrl + c จากนั้นแสดงสถิติบางอย่างเกี่ยวกับแพ็กเก็ตที่ส่งคืน

/th/images/wsl-ping-ctrl-c.png

หากต้องการให้ Ping หยุดหลังจากส่ง Ping ถึงจำนวนหนึ่ง ให้ใช้ตัวเลือก-c หากต้องการ ping โฮสต์สี่ครั้ง:


ping -c 4 google.com

/th/images/ping-google-wsl-c4.png

Tracert: Traceroute หรือ Tracepath บน Linux

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

คุณอาจค้นหามันใน Linux แต่คุณอาจพบว่ามันหายไป มันก็มีชื่อที่แตกต่างกัน ลองรันคำสั่ง “traceroute”:


traceroute example.com

หรือคุณอาจลองใช้คำสั่ง racepath:


tracepath example.com

/th/images/tracepath-wsl.png

คุณอาจต้องติดตั้งแพ็คเกจเพิ่มเติมบนระบบของคุณ ขึ้นอยู่กับ Linux distro ที่คุณใช้อยู่ หากคำสั่งเหล่านี้ล้มเหลว คุณอาจลองเรียกใช้การค้นหาในตัวจัดการแพ็คเกจของคุณเพื่อระบุแพ็คเกจที่คุณอาจต้องติดตั้ง

อีกทางเลือกหนึ่ง คุณอาจพิจารณาติดตั้ง MTR ซึ่งรวมฟังก์ชันของ ping และ Traceroute ไว้ในยูทิลิตี้เดียว วิธีติดตั้งบน Ubuntu:


sudo apt install mtr

คุณสามารถโทร MTR ด้วยชื่อโฮสต์หรือที่อยู่ IP คล้ายกับ ping และ Traceroute:


mtr howtogeek.com

พฤติกรรมเริ่มต้นคือการเปิดหน้าต่าง GUI และทำซ้ำ Traceroute ต่อไป คุณสามารถแสดง MTR ในเทอร์มินัลด้วยตัวเลือก t:


mtr -t howtogeek.com

/th/images/mtr-terminal.png

คุณสามารถทำได้โดยอัตโนมัติโดยการตั้งค่าตัวแปรสภาพแวดล้อม MTR_OPTIONS:


export MTR_OPTIONS="-t"

คุณสามารถใส่สิ่งนี้ลงในไฟล์ your.bashrc หรือ.zshrc เพื่อตั้งค่าทุกครั้งที่คุณเปิดเทอร์มินัลใหม่

ตอนนี้ เมื่อคุณเรียกใช้ MTR มันจะทำงานในหน้าต่างเทอร์มินัล

ข้อแตกต่างที่สำคัญประการหนึ่งจาก Traceroute แบบทั่วไปคือ MTR จะแสดงสถิติในแต่ละโหนด คล้ายกับที่คุณจะเห็นด้วย Ping โดยจะบอกเวลา ping ที่สั้นที่สุด ยาวที่สุด และเฉลี่ยสำหรับแต่ละโหนด รวมถึงค่าเบี่ยงเบนมาตรฐาน นี่จะบอกคุณว่าเวลา ping ที่กระจายออกไปนั้นอยู่ที่ประมาณค่าเฉลี่ยอย่างไร

ipconfig-เพียง ip บน Linux

คุณอาจใช้คำสั่ง ipconfig บน Windows เพื่อดูข้อมูลเกี่ยวกับการกำหนดค่าเครือข่ายของคุณ ifconfig เคยเทียบเท่ากับ Linux แต่ตอนนี้เป็นเพียง “ip”

หากต้องการดูอินเทอร์เฟซเครือข่ายทั้งหมดบนระบบของคุณ:


ip link

/th/images/wsl-ip-link.png

หากต้องการดูที่อยู่ IP:


ip address

/th/images/ip-address-wsl.png

ใน WSL2 ตามค่าเริ่มต้น คุณจะเห็นที่อยู่ของเครื่องเสมือน WSL หากคุณต้องการจัดการการเชื่อมต่อเครือข่ายของระบบ Windows ของคุณบนเครื่อง Windows วิธีที่ดีที่สุดคือจัดการจากฝั่ง Windows โดยตรง

netstat-ใช้ lsof หรือ ss

บางครั้ง คุณต้องการดูการเชื่อมต่อเครือข่ายแบบเปิดทั้งหมด บางทีคุณอาจกังวลว่ามีคนเข้าถึงระบบของคุณโดยไม่ได้รับอนุญาต บางทีคุณเพียงต้องการดูว่าแอปใดบ้างที่ “โทรศัพท์กลับบ้าน” บน Windows คำสั่ง netstat จะดำเนินการนี้ นอกจากนี้ยังมีสิ่งที่เทียบเท่าบน Linux

lsof เป็นเครื่องมือทั่วไปสำหรับตรวจสอบไฟล์ที่เปิดอยู่ บน Linux ทุกอย่างจะเป็นไฟล์ ซึ่งรวมถึงการเชื่อมต่อเครือข่ายด้วย คุณสามารถรันคำสั่ง lsof ที่เชลล์ได้:


lsof

/th/images/lsof-wsl.png

ตามค่าเริ่มต้น นี่จะแสดงให้คุณเห็นไฟล์ทั้งหมดที่แอพ Linux ใด ๆ ที่เปิดอยู่ หากต้องการดูการเชื่อมต่ออินเทอร์เน็ตทั้งหมด ให้ใช้ตัวเลือก-i:


lsof -i

บน Linux นั้น ss จะแสดงข้อมูลเกี่ยวกับซ็อกเก็ตแบบเปิด คล้ายกับ netstat:


ss

/th/images/wsl-ss.png

ข้อแม้ประการหนึ่งหากคุณใช้ WSL ก็คือยูทิลิตี้เหล่านี้จะแสดงเฉพาะการเชื่อมต่อบนฝั่ง Linux ของระบบเท่านั้น หากคุณต้องการตรวจสอบกระบวนการของ Windows คุณสามารถใช้ยูทิลิตี้ Windows netstat จาก WSL โดยใช้เทคนิคที่กล่าวถึงในบทความนี้

nslookup: ใช้ nslookup หรือขุดใน Linux แทน

หากต้องการค้นหาว่าใครอยู่เบื้องหลังชื่อโดเมน คุณอาจใช้ยูทิลิตี nslookup บน Windows คุณสามารถทำเช่นเดียวกันบน Linux

จดหมายข่าว: เคล็ดลับเกี่ยวกับเครือข่าย Linux ที่ใช้งานได้จริงและความช่วยเหลือ WSL

สมัครรับจดหมายข่าวเพื่อรับทราบคำแนะนำที่ชัดเจนและนำไปปฏิบัติได้ของระบบเครือข่าย Linux และคำแนะนำ WSL ที่ใช้งานได้จริง ซึ่งจะช่วยให้คุณวินิจฉัยและจัดการเครือข่ายได้อย่างมั่นใจ เหมาะสำหรับการแก้ไขปัญหาที่เกิดขึ้นจริงและการตั้งค่าในโลกแห่งความเป็นจริง

สมัครสมาชิก

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

มีคำสั่ง nslookup ที่คล้ายกันบน Linux:


nslookup howtogeek.com

/th/images/nslookup-wsl.png

คุณยังสามารถใช้ยูทิลิตี้ขุด:


dig howtogeek.com

/th/images/dig-wsl.png

ทั้งสองสิ่งนี้จะแสดง “เนมเซิร์ฟเวอร์” ของชื่อโดเมนที่เชื่อมโยงกับที่อยู่ที่คุณระบุ ในกรณีนี้คือ Howtogeek.com

ขึ้นอยู่กับระบบ Linux ของคุณ เครื่องมือเหล่านี้อาจไม่ได้รับการติดตั้งตามค่าเริ่มต้น พวกเขาไม่ได้อยู่ใน Ubuntu distro ซึ่งเป็นค่าเริ่มต้นสำหรับ WSL หากคุณต้องการเครื่องมือเหล่านี้ คุณจะต้องติดตั้งแพ็คเกจอื่นชื่อ “bind9-dnsutils” โชคดีที่ทำได้ง่ายๆ ด้วย apt:


sudo apt install bind9-dnsutils

เคล็ดลับโบนัส: ใช้ทั้งคำสั่ง Linux และ Windows ใน WSL

หากคุณใช้ WSL คุณสามารถผสมและจับคู่คำสั่ง Linux และ Windows ได้

จากฝั่ง Linux คุณสามารถผนวก “.exe” เข้ากับคำสั่งเพื่อใช้เวอร์ชัน Windows ได้ ตัวอย่างเช่น หากต้องการรันคำสั่ง Windows netstat:


netstat.exe

/th/images/wsl-windows-netstat.png

จากฝั่ง Windows คุณยังสามารถรันคำสั่ง Linux ด้วยคำสั่ง wsl ได้ ตัวอย่างเช่น หากต้องการรัน Linux ping จาก PowerShell โดยใช้ Linux distro เริ่มต้น:


wsl ping google.com

/th/images/powershell-wsl-ping.png

หากคุณเรียกใช้คำสั่งเครือข่ายจากบรรทัดคำสั่งของ Windows คุณสามารถทำได้ง่ายๆ จาก Linux และ WSL ยังทำให้ง่ายขึ้นด้วยการรันคำสั่งจากทั้งสองระบบ คำสั่ง Windows จำนวนมากมีต้นกำเนิดมาจากระบบที่มีลักษณะคล้าย Unix ซึ่งเป็นสาเหตุที่ทำให้หลายคำสั่งมีความคล้ายคลึงกันมาก

*️⃣ ลิงค์ที่มา:

คำสั่ง ping แสดงสถิติบางอย่างเกี่ยวกับแพ็กเก็ตที่ส่งคืน ติดตามเส้นทางจากเครื่องของคุณผ่านโหนดเครือข่ายไปจนถึงเครื่องปลายทาง ตัวแปรสภาพแวดล้อม เป็นเพียง “ip” ตอนนี้ ทางที่ดีที่สุดคือดำเนินการโดยตรงจากฝั่ง Windows, , , ข้อกำหนดการใช้งาน , นโยบายความเป็นส่วนตัว , ขุดยูทิลิตี้ คุณสามารถผสมและจับคู่คำสั่ง Linux และ Windows