R1#telnet 1.1.1.1 19 Trying 1.1.1.1, 19 ... Open !"#$%&'()*+,-./0123456789:
這篇提供了一個可行的替代方案. 就是直接使用 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#
當然, 這個功能會有副作用:
- 因為 IOS 平台在產生 Characters 的時候, 會耗費許多 CPU 運算能力. 所以要先確認該 IOS 設備目前的 CPU 負載可以承受.
- 使用完畢, 請記得關 (用 "no service tcp-small-servers" 命令關閉)! 不然, 駭客也可以利用這個功能, 來癱瘓這個打開 "TCP Small Servers" 的 IOS 設備.
再次提醒, 如果只是想試玩一下, 請使用 "Dynamips".
如果真的要在網路上試的話, 我會挑 CPU 負載輕的 IOS Switch 平台來啟動這項功能.
Reference:
洪老師你好
回覆刪除我是你 blog 的愛好者,謝謝你一直分享很多東西給大家
我想請教一下 Switch 上的 CDP 是跑在 native vlan 還是 vlan 1 ?
因為我是自學 CCNA 所以底子不是打的很好,希望洪老師撥空回答。
謝謝!!
感謝您的支持! 其實您問到的問題很深入.
回覆刪除綜合過去的經驗和我目前找到的文件, Cisco 設備所送出的 CDP 訊框是不會被加 802.1Q 的標籤的, 同時也不能穿過 Cisco Switch.
當 Native VLAN 改設定成不是 VLAN 1 時, VLAN 1 的訊框是要加標籤的.
好, 回到主題: 我用這個方法驗證, 當 VLAN 1 在主幹連線(Trunk)上被關掉時, CDP 仍然正常運作.
所以比較正確的說法應該還是 "CDP 跑在 Native VLAN 上".
應該有回答到您的問題吧!