如果您喜歡這裡的內容,記得分享到您的Facebook和Twitter上面所有的朋友們吧!

2009年9月25日 星期五

Cisco IOS 流量產生器

 R1#telnet 1.1.1.1 19
 Trying 1.1.1.1, 19 ... Open 
 !"#$%&'()*+,-./0123456789:
要確認網路的穩定性, 通常還是得灌入一些流量, 讓網路承載試看看. 但是如果一時找不到適當的 Client/Server, 來幫我們持續地產生流量, 有沒有別的辦法?

這篇提供了一個可行的替代方案. 就是直接使用 Cisco IOS 來自己產生流量.

警告 Warning! 如果只是想試玩一下以下功能, 請改使用 "Dynamips", 以免造成意外的網路中斷!

原理就是 IOS 其實已經包含一個 CHARGEN (Character Generation, TCP port 19) 的服務. 這個服務只有一個功能, 當 TCP 連線接上以後, 就開始不停地產生 "Characters". 藉由這個功能, 可以在兩台 IOS 平台間產生大量的 TCP 封包.

當然, 預設 IOS 是沒有開的, 所以要下 "service tcp-small-servers" 來啟用這個服務.
R1(config)#service tcp-small-servers
R1(config)#end
R1#

開啟之後, 就直接 TELNET 到該 IOS 平台的 19 號埠. Characters 就會開始產生, 也就是被登入端會送出大量的 TCP 封包, 來達到流量產生的功能.

R1# telnet 1.1.1.1 19
Trying 1.1.1.1, 19 ... Open
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHI
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJ
"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJK
#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKL
$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLM
%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO

事實上, 這個產生過程是無窮迴圈, 所以不會自動停下來, 除非各位自己按下 "Ctrl-Shift-6 x" 跳脫命令, 將產生的畫面放到背景中, 不然畫面就會一直跑個不停.

如果不想再繼續產生 Characters, 這時候只要再使用 "disconnect" 命令, 切斷該 TCP 連線即可.

-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWX
./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY

<Ctrl-Shift-6 x pressed>

R1#disconnect
Closing connection to 1.1.1.1 [confirm]
R1#

當然, 這個功能會有副作用:
  1. 因為 IOS 平台在產生 Characters 的時候, 會耗費許多 CPU 運算能力. 所以要先確認該 IOS 設備目前的 CPU 負載可以承受.
  2. 使用完畢, 請記得關 (用 "no service tcp-small-servers" 命令關閉)! 不然, 駭客也可以利用這個功能, 來癱瘓這個打開 "TCP Small Servers" 的 IOS 設備.

再次提醒, 如果只是想試玩一下, 請使用 "Dynamips".

如果真的要在網路上試的話, 我會挑 CPU 負載輕的 IOS Switch 平台來啟動這項功能.


Reference:
如果您喜歡這篇文章,不考慮試試Email訂閱嗎?


Related Posts with Thumbnails

2 則留言:

  1. 洪老師你好

    我是你 blog 的愛好者,謝謝你一直分享很多東西給大家

    我想請教一下 Switch 上的 CDP 是跑在 native vlan 還是 vlan 1 ?
    因為我是自學 CCNA 所以底子不是打的很好,希望洪老師撥空回答。
    謝謝!!

    回覆刪除
  2. 感謝您的支持! 其實您問到的問題很深入.

    綜合過去的經驗和我目前找到的文件, Cisco 設備所送出的 CDP 訊框是不會被加 802.1Q 的標籤的, 同時也不能穿過 Cisco Switch.

    當 Native VLAN 改設定成不是 VLAN 1 時, VLAN 1 的訊框是要加標籤的.

    好, 回到主題: 我用這個方法驗證, 當 VLAN 1 在主幹連線(Trunk)上被關掉時, CDP 仍然正常運作.

    所以比較正確的說法應該還是 "CDP 跑在 Native VLAN 上".

    應該有回答到您的問題吧!

    回覆刪除

小技巧:也可以 匿名 留言!

經典熱門文章