การ Ping หลายๆ IP พร้อมกัน โดยใช้ TCL Script (TCLSH)
TCL (Tool Control Language) เป็นภาษา Script ที่สามารถใช้บน Cisco IOS
ตั้งแต่ Version 12.2(25) ขึ้นไป มันคือการเขียน Programming
เพื่อสั่งให้อุปกรณ์ทำตามคำสั่งที่เราเขียนไว้ ถ้าผู้ใช้งานมีพื้นฐานด้าน
programming มาก่อน จะสามารถใช้งานได้ง่ายขึ้นครับ
ในการสอบ CCIE Routing and Switching นั้น ผลสุดท้ายของโจทย์คือ ทั้ง Topology จะต้องติดต่อกันได้ทุก IP ตามที่โจทย์กำหนด ดังนั้นด้วยเวลาที่จำกัด การที่มาคอย Ping ที่ละ IP จะทำให้เสียเวลาเป็นอย่างมาก ดังนั้นเพื่อลดเวลาตรงจุดนี้ (หรือพูดง่ายๆก็คือ ขี้เกียจนั่นเอง 555+ ) เราจึงหา Tool มาช่วยซักหน่อย
วันนี้ผมจะนำ TCL Script มาใช้ในการช่วย Ping หลายๆ IP พร้อมกัน โดยที่เราไม่ต้องมานั่ง Ping ทีละ IP แบบอย่างง่าย โดยมีขั้นตอน ดังนี้
เห็นไหมครับว่า แบบนี้จะลดเวลาของเราได้พอสมควรถ้าต้องการ Ping หลายๆ IP address แล้วเราก็มาไล่ดูว่ามี IP address ไหนบ้างที่ Ping ไม่เจอ
การใช้งาน TCL Script สามารถประยุกต์ใช้ได้ตามหลักการ Programming เลยครับ ตัวอย่าง เช่น
ถ้าใครสนใจเรื่อง TCL เพิ่มเติมลองดูหนังสือของ Ciscopress ได้ครับ เล่มนี้เลย
http://www.ciscopress.com/store/tcl-scripting-for-cisco-ios-9781587059452
จบแล้วครับ ก็หวังว่าจะเป็นประโยชน์ที่จะสามารถนำไปประยุกต์ใช้ได้ในการทำงานครับ สำหรับคนที่ไม่เก่ง Programming แบบผม ก็อาศัยหา Code เอาจากเว็บ Cisco นี่ล่ะครับ 555+
By ReFeeL
ในการสอบ CCIE Routing and Switching นั้น ผลสุดท้ายของโจทย์คือ ทั้ง Topology จะต้องติดต่อกันได้ทุก IP ตามที่โจทย์กำหนด ดังนั้นด้วยเวลาที่จำกัด การที่มาคอย Ping ที่ละ IP จะทำให้เสียเวลาเป็นอย่างมาก ดังนั้นเพื่อลดเวลาตรงจุดนี้ (หรือพูดง่ายๆก็คือ ขี้เกียจนั่นเอง 555+ ) เราจึงหา Tool มาช่วยซักหน่อย
วันนี้ผมจะนำ TCL Script มาใช้ในการช่วย Ping หลายๆ IP พร้อมกัน โดยที่เราไม่ต้องมานั่ง Ping ทีละ IP แบบอย่างง่าย โดยมีขั้นตอน ดังนี้
- ทำการ Lists IP address ที่เราต้องการ Ping ออกมาก่อน ตัวอย่าง เช่น
12.1.1.1
14.1.1.1
11.1.1.1
11.2.1.1
11.3.1.1
12.1.1.2 - เขียนคำสั่ง TCL Script โดยเอาชุด IP ที่ต้องการ Ping ไปวาง ดังนี้
tclsh
สร้างตัวแปรชื่อ ip โดยใส่หมายเลข IP address ไปเก็บไว้ จากนั้นเขียน foreach เพื่อให้วน loop หมายเลข IP address แล้วสั่ง ping โดยเรียกตัวแปรมาใช้ $ip (repeat 10 หมายถึงให้ Ping 10 packet)
foreach ip {
12.1.1.1
14.1.1.1
11.1.1.1
11.2.1.1
11.3.1.1
12.1.1.2 } {ping $ip repeat 10}
- จากนั้น Copy TCL Script ข้อ 2 ไปวางใน Router
Router#tclsh
Router(tcl)#foreach ip {
+>(tcl)#12.1.1.1
+>(tcl)#14.1.1.1
+>(tcl)#11.1.1.1
+>(tcl)#11.2.1.1
+>(tcl)#11.3.1.1
+>(tcl)#12.1.1.2 } {ping $ip re 10} - จากนั้นกด Enter
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 12.1.1.1, timeout is 2 seconds:
!!!!!!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 14.1.1.1, timeout is 2 seconds:
!!!!!!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 11.1.1.1, timeout is 2 seconds:
!!!!!!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 11.2.1.1, timeout is 2 seconds:
!!!!!!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 11.3.1.1, timeout is 2 seconds:
!!!!!!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 12.1.1.2, timeout is 2 seconds:
!!!!!!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms
เห็นไหมครับว่า แบบนี้จะลดเวลาของเราได้พอสมควรถ้าต้องการ Ping หลายๆ IP address แล้วเราก็มาไล่ดูว่ามี IP address ไหนบ้างที่ Ping ไม่เจอ
การใช้งาน TCL Script สามารถประยุกต์ใช้ได้ตามหลักการ Programming เลยครับ ตัวอย่าง เช่น
proc ping_net {x} {Script นี้หมายถึง ถ้าผมพิมพ์ "ping_net 5" มันก็จะ ping ip 192.168.1.1 - 192.168.1.5 นั่นเอง
for {set n 1} {$n<=$x} {incr n 1} {
exec "ping 192.168.1.$n" }}
ถ้าใครสนใจเรื่อง TCL เพิ่มเติมลองดูหนังสือของ Ciscopress ได้ครับ เล่มนี้เลย
http://www.ciscopress.com/store/tcl-scripting-for-cisco-ios-9781587059452
จบแล้วครับ ก็หวังว่าจะเป็นประโยชน์ที่จะสามารถนำไปประยุกต์ใช้ได้ในการทำงานครับ สำหรับคนที่ไม่เก่ง Programming แบบผม ก็อาศัยหา Code เอาจากเว็บ Cisco นี่ล่ะครับ 555+
By ReFeeL
ไม่มีความคิดเห็น:
แสดงความคิดเห็น