คำสั่ง CMD ping หลายเครื่องพร้อมกัน วิธีใช้งานง่าย

ทำความรู้จักกับคำสั่ง Ping ใน Command Prompt

คำสั่ง ping เป็นเครื่องมือพื้นฐานที่ใช้ในการทดสอบการเชื่อมต่อเครือข่าย โดยส่งแพ็กเก็ตข้อมูลไปยังโฮสต์เป้าหมายและรอรับการตอบกลับ วิธีนี้ช่วยให้ผู้ดูแลระบบหรือผู้ใช้งานทั่วไปสามารถตรวจสอบว่าเครื่องนั้น ๆ สามารถติดต่อกับเครื่องอื่นในเครือข่ายได้หรือไม่ ปกติแล้วเรามักจะพิมพ์คำสั่ง ping ตามด้วยหมายเลข IP หรือชื่อโดเมนทีละเครื่อง แต่เมื่อต้องตรวจสอบหลายเครื่องพร้อมกัน การทำทีละเครื่องอาจใช้เวลานานและไม่สะดวก ดังนั้นจึงมีเทคนิคการใช้คำสั่ง CMD เพื่อ ping หลายเครื่องในคราวเดียว ซึ่งจะช่วยประหยัดเวลาและเพิ่มประสิทธิภาพในการทำงาน

วิธีใช้ FOR Loop เพื่อ Ping หลาย IP พร้อมกัน

วิธีที่ง่ายที่สุดในการ ping หลายเครื่องพร้อมกันใน Command Prompt คือการใช้คำสั่ง FOR /L ซึ่งเป็นลูปที่ทำงานวนซ้ำตามช่วงตัวเลขที่กำหนด โดยรูปแบบคำสั่งพื้นฐานมีดังนี้

FOR /L %i IN (1,1,254) DO ping -n 1 192.168.0.%i

คำสั่งนี้จะทำการ ping ไปยัง IP ตั้งแต่ 192.168.0.1 ถึง 192.168.0.254 โดยแต่ละครั้งจะส่งคำขอ ping เพียง 1 ครั้ง (-n 1) และใช้ %i เป็นตัวแปรแทนเลขท้ายของ IP เมื่อรันคำสั่งใน CMD โดยตรง ตัวแปร %i จะทำงานได้ทันที แต่ถ้าต้องการนำไปใช้ในไฟล์แบตช์ (.bat) ต้องใช้ %%i แทน วิธีนี้ช่วยให้คุณไม่ต้องพิมพ์คำสั่ง ping ถึง 254 ครั้งด้วยตนเอง

คำสั่ง CMD ping หลายเครื่องพร้อมกัน วิธีใช้งานง่าย - 1

อย่างไรก็ตาม การรันลูปแบบนี้จะทำงานตามลำดับทีละ IP ซึ่งอาจใช้เวลาพอสมควรหากเครือข่ายมีขนาดใหญ่ แต่ยังคงเป็นวิธีที่สะดวกและไม่ต้องติดตั้งโปรแกรมเพิ่มเติม คุณสามารถปรับช่วง IP หรือเพิ่มจำนวนครั้งในการ ping ได้ตามต้องการ เช่น เปลี่ยน -n 1 เป็น -n 2 เพื่อส่ง 2 ครั้ง หรือเปลี่ยนช่วงจาก (1,1,254) เป็น (100,1,150) เพื่อจำกัดเฉพาะ IP ที่สนใจ

การกรองผลลัพธ์ด้วย FIND เพื่อดูเฉพาะเครื่องที่ตอบกลับ

เมื่อรันลูป ping หลาย IP ผลลัพธ์ที่ได้จะมีทั้งบรรทัดที่แสดงการตอบกลับและบรรทัดที่แสดงว่าไม่สามารถเชื่อมต่อได้ การดูผลลัพธ์ทั้งหมดอาจทำให้สับสนและเสียเวลา เพื่อแก้ปัญหานี้ เราสามารถใช้คำสั่ง FIND ในการกรองเฉพาะบรรทัดที่มีข้อความ "Reply" ซึ่งบ่งบอกว่าเครื่องนั้นตอบกลับได้สำเร็จ

FOR /L %i IN (1,1,254) DO ping -n 1 192.168.0.%i | FIND /i "Reply"

เครื่องหมาย | (pipe) ใช้ในการส่งต่อผลลัพธ์ของคำสั่ง ping ไปยัง FIND ซึ่งจะค้นหาข้อความ "Reply" แบบไม่คำนึงถึงตัวพิมพ์เล็กใหญ่ (/i) ทำให้เราเห็นเฉพาะ IP ที่ตอบกลับเท่านั้น นอกจากนี้ คุณยังสามารถเปลี่ยนเป็น "TTL" หรือ "from" เพื่อกรองในรูปแบบอื่นได้ วิธีนี้ช่วยให้การตรวจสอบเครือข่ายทำได้รวดเร็วขึ้น โดยเฉพาะเมื่อต้องการหาเครื่องที่เปิดอยู่ภายในช่วง IP ใดช่วงหนึ่ง

คำสั่ง CMD ping หลายเครื่องพร้อมกัน วิธีใช้งานง่าย - 2

นอกจากนั้น คุณยังสามารถบันทึกผลลัพธ์ที่กรองแล้วลงในไฟล์ข้อความได้โดยใช้เครื่องหมาย >> ตามด้วยชื่อไฟล์ เช่น

FOR /L %i IN (1,1,254) DO ping -n 1 192.168.0.%i | FIND /i "Reply" >> result.txt

การบันทึกไฟล์จะช่วยให้คุณสามารถนำข้อมูลไปวิเคราะห์หรืออ้างอิงภายหลังได้ โดยไม่ต้องเปิดหน้าต่าง CMD ทิ้งไว้ตลอดเวลา

ตารางเปรียบเทียบวิธีการ Ping หลายเครื่องพร้อมกัน

เพื่อให้เห็นภาพรวมของแต่ละวิธี เราได้รวบรวมตารางเปรียบเทียบระหว่างการใช้ FOR Loop ใน CMD, การใช้เครื่องมือ fping บน Linux, และการใช้ PowerShell Jobs บน Windows

คำสั่ง CMD ping หลายเครื่องพร้อมกัน วิธีใช้งานง่าย - 3
วิธี ข้อดี ข้อเสีย ตัวอย่างคำสั่งพื้นฐาน
FOR Loop ใน CMD ไม่ต้องติดตั้งเพิ่ม ใช้งานง่ายบน Windows ทุกเวอร์ชัน ทำงานตามลำดับ ช้ากว่าการทำแบบขนาน กรองผลลัพธ์ต้องใช้ FIND เสริม FOR /L %i IN (1,1,254) DO ping -n 1 192.168.0.%i
fping (Linux/Unix) ping พร้อมกันหลายเครื่องในครั้งเดียว แสดงผลรวดเร็ว มีตัวเลือกช่วง IP ต้องติดตั้งเพิ่ม ไม่มีในระบบปฏิบัติการ Windows โดยค่าเริ่มต้น fping -g 192.168.0.1/24
PowerShell Jobs ทำงานแบบขนาน รองรับการทำต่อเนื่องและบันทึกเวลาที่แน่นอน ต้องมีความรู้ PowerShell พื้นฐาน อาจซับซ้อนสำหรับผู้เริ่มต้น Start-Job { ping -n 1 192.168.0.1 }

ข้อควรระวังและเคล็ดลับในการใช้งาน

ก่อนที่จะใช้คำสั่ง ping หลายเครื่องพร้อมกัน ควรคำนึงถึงปัจจัยบางประการเพื่อให้ได้ผลลัพธ์ที่แม่นยำและไม่สร้างภาระให้กับเครือข่ายมากเกินไป

  • การตั้งค่าจำนวนครั้งในการ ping: ควรใช้ -n 1 หรือ -n 2 เพื่อลดปริมาณแพ็กเก็ต โดยเฉพาะเมื่อตรวจสอบช่วง IP ขนาดใหญ่
  • การหน่วงเวลาระหว่างการ ping: ใน FOR Loop ปกติจะทำงานต่อเนื่องโดยไม่มีการหน่วง หากต้องการเว้นระยะ สามารถเพิ่มคำสั่ง timeout /t 1 >nul หลังจากคำสั่ง ping เพื่อให้รอ 1 วินาทีก่อน ping IP ถัดไป
  • การรัน CMD ในฐานะผู้ดูแลระบบ: สำหรับบางเครือข่ายหรือการ ping ผ่านไฟร์วอลล์ อาจต้องรัน CMD ในฐานะ Administrator เพื่อให้คำสั่งทำงานได้สมบูรณ์
  • การตรวจสอบสิทธิ์การเข้าถึง: หากคุณ ping เครื่องในระบบโดเมนหรือเครือข่ายที่มีการรักษาความปลอดภัยสูง อาจถูกปฏิเสธการตอบกลับจากบางเครื่อง
  • การใช้ไฟล์ข้อความเพื่อเก็บบันทึก: ควรตั้งชื่อไฟล์ให้ไม่ซ้ำกันหรือเพิ่มวันที่ในชื่อไฟล์เพื่อป้องกันการเขียนทับข้อมูลเดิม

เคล็ดลับเพิ่มเติมคือ คุณสามารถรวมคำสั่ง FIND เพื่อกรองเฉพาะบรรทัดที่ขึ้นต้นด้วย "Reply from" ซึ่งจะแสดง IP ที่ตอบกลับอย่างชัดเจน หรือใช้ FINDSTR เพื่อรองรับการค้นหารูปแบบที่ซับซ้อนยิ่งขึ้น เช่น

FOR /L %i IN (1,1,254) DO ping -n 1 192.168.0.%i | FINDSTR /i "Reply"

นอกจากนี้ หากคุณต้องการทราบว่าเครื่องใดไม่ตอบกลับ คุณสามารถใช้ FIND /i "Request timed out" แทน เพื่อดูเฉพาะ IP ที่ไม่สามารถเชื่อมต่อได้

คำสั่ง CMD ping หลายเครื่องพร้อมกัน วิธีใช้งานง่าย - 4

การประยุกต์ใช้กับเครือข่ายขนาดใหญ่และการทำงานอัตโนมัติ

ในสถานการณ์ที่ต้องตรวจสอบเครือข่ายที่มีหลายร้อยหรือหลายพันเครื่อง การใช้ FOR Loop เพียงอย่างเดียวอาจไม่เพียงพอ เนื่องจากต้องใช้เวลานานและอาจทำให้ Command Prompt ทำงานหนัก ทางเลือกหนึ่งคือการเขียนสคริปต์ด้วย PowerShell ซึ่งรองรับการทำงานแบบขนาน (parallel) โดยใช้ Start-Job หรือ ForEach-Object -Parallel ใน PowerShell เวอร์ชันใหม่ ตัวอย่างเช่น

1..254 | ForEach-Object -Parallel { ping -n 1 "192.168.0.$_" } -ThrottleLimit 50

คำสั่งนี้จะ ping IP 1 ถึง 254 แบบขนาน โดยจำกัดจำนวนงานพร้อมกันที่ 50 งาน ทำให้เร็วขึ้นมากเมื่อเทียบกับลูปแบบลำดับ อย่างไรก็ตาม พารามิเตอร์ -Parallel สามารถใช้ได้ใน PowerShell 7 ขึ้นไปเท่านั้น

สำหรับผู้ที่ใช้ Linux หรือระบบ Unix-like เครื่องมือ fping เป็นตัวเลือกที่นิยมมาก เนื่องจากสามารถระบุช่วง IP ในรูปแบบ CIDR หรือรายการ IP ในไฟล์ข้อความได้ ตัวอย่างคำสั่ง fping -g 192.168.0.1/24 จะ ping ทุก IP ใน subnet นั้นทันทีและแสดงผลเฉพาะเครื่องที่ตอบกลับหรือไม่ตอบกลับตามตัวเลือก

คำสั่ง CMD ping หลายเครื่องพร้อมกัน วิธีใช้งานง่าย - 5

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

ลิงก์อ้างอิงและแหล่งข้อมูลเพิ่มเติม

สำหรับผู้ที่ต้องการศึกษาเพิ่มเติมเกี่ยวกับคำสั่ง ping ใน Windows และเทคนิคขั้นสูง สามารถดูเอกสารอย่างเป็นทางการจาก Microsoft ได้ที่ Microsoft Learn: คำสั่ง ping ซึ่งอธิบายพารามิเตอร์และการใช้งานแบบละเอียด

นอกจากนี้ ยังมีคำแนะนำจากผู้ใช้ใน Stack Exchange ที่กล่าวถึงการกรองผลลัพธ์ด้วย FIND และการใช้งาน FOR Loop อย่างมีประสิทธิภาพ ศึกษาเพิ่มเติมได้ที่ SuperUser: วิธี ping ช่วง IP พร้อมกัน

ส่วนอ้างอิง

ข้อมูลในบทความนี้รวบรวมจากแหล่งที่มาที่น่าเชื่อถือดังนี้

Microsoft Corporation. Windows Command Reference: ping. เข้าถึงเมื่อ 2025 จาก https://learn.microsoft.com/pt-br/windows-server/administration/windows-commands/ping

Stack Exchange Network. How can I ping a range of IP addresses simultaneously? เข้าถึงเมื่อ 2025 จาก https://qastack.com.br/superuser/45687/how-can-i-ping-a-range-of-ip-addresses-simultaneously-closed

Wel. R. Braga. fping: um ping para múltiplos hosts. เข้าถึงเมื่อ 2025 จาก https://blog.welrbraga.eti.br/fping-um-ping-para-multiplos-hosts/

Reddit PowerShell Community. How to do continuous ping to multiple IPs and log results. เข้าถึงเมื่อ 2025 จาก https://www.reddit.com/r/PowerShell/comments/17949iu/how_to_do_continuous_ping_to_multiple_ips_and/

CMD ping เครือข่าย Command Prompt ตรวจสอบเน็ต Windows network troubleshooting
ข้อควรระวัง บทความนี้เพื่อการศึกษาและใช้งานทั่วไป ผลลัพธ์อาจแตกต่างตามสภาพเครือข่าย
ผู้เขียน

Stefano Barcellos

ผู้ร่วมเขียนที่ Visite Barbados

« โพสต์ก่อนหน้า
คำนวณภาษีค่าเช่า วิธีคำนวณง่าย เข้าใจได้ทันที

โพสต์ที่เกี่ยวข้อง