این دو پروتکل برای نمایش لیست دستگاههایی است که به یک روتر یا سوئیچ متصل شدهاند، CDP یا همان Cisco Discovery Protocol مختص شرکت سیسکو بوده و فقط در دستگاههای این شرکت کارای دارد و LLDP یا همان Link Layer Discovery Protocol یک پروتکل عمومی است که هم در سیسکو و هم در دستگاههای دیگر کاربرد دارد.
بیاید با یک مثال که از کتاب CCNA R&S بنده است پروتکل CDP را بررسی کنیم و امنیت آن را هم به چالش بکشیم.
در این مثال از ۴ سوئیچ استفاده میکنیم که سوئیچهای ۱، ۲ و ۳ به سوئیچ ۴ متصل هستند. میخواهید بدانید چه دستگاههایی از چه مدلی به سوئیچ SW4 متصل است، برای این کار از دستور زیر استفاده میکنیم:
وارد سوئیچ ۴ شوید و در مد Privileged، دستور زیر را وارد کنید:
SW4#show cdp neighbors
Capability Codes: R – Router, T – Trans Bridge, B – Source Route Bridge
S – Switch, H – Host, I – IGMP, r – Repeater, P – Phone,
D – Remote, C – CVTA, M – Two-port Mac Relay
Device ID Local Intrfce Holdtme Capability Platform Port ID
Sw1 Eth 0/0 ۱۲۸ R S I Linux Uni Eth 0/0
Sw2 Eth 0/1 ۱۲۸ R S I Linux Uni Eth 0/1
Sw3 Eth 0/2 ۱۲۹ R S I Linux Uni Eth 0/0
همانطور که مشاهده میکنید با اجرای دستور show cdp neighbors، لیست سوئیچهای متصل به این سوئیچ را با ویژگیهای سوئیچهای مربوطه نمایش داد.
در این دستور به ما شمارهی پورت، شمارهی دستگاه، نوع دستگاه، پورت ورودی به سوئیچ و مقدار زمانی که طول کشید سوئیچ دستگاههای متصل به خودش را شناسایی کند را نمایش میدهد.
برای اینکه به جزئیات بیشتر در مورد دستگاههای متصل شده دست پیدا کنیم از دستور زیر استفاده میکنیم:
SW4# show cdp neighbors detail
پروتکل CDP هر ۶۰ ثانیه یکبار، اطلاعات مربوط را به دستگاههای متصل به خود ارسال میکند و دستگاههایی که این پیام را دریافت میکنند در جدولی که معرفی کردیم، ذخیره میکنند.
یکی از مشکلاتی که این دو پروتکل (CDP , LLDP) دارد این است که مهاجم با گوش دادن به خط ارتباطی آنها میتواند به اطلاعات خوبی دست پیدا کند.
وارد سوئیچ شوید و دستور Show lldp را وارد کنید که نتیجه آن را در زیر مشاهده میکنید که این پروتکل به صورت پیشفرض غیر فعال است و اگر هم فعال بود با دستور no lldp run میتوانید آن را غیر فعال کنید.
SW4#show lldp
% LLDP is not enabled
برای غیر فعال کردن پروتکل CDP هم میتوانید از دستورات زیر استفاده کنید:
SW4(config)#no cdp run
با دستور بالا CDP غیر فعال خواهد شد و برای اینکه متوجه شویم دستور به خوبی اجرا شده دستور Show cdp را اجرا کنید.
SW4(config)#do sh cdp
% CDP is not enabled
نکته اول: برای اینکه CDP را فقط در Interface مشخص غیر فعال کنید باید از دستورات زیر استفاده کنید:
SW4(config)#interface ethernet 0/0
SW4(config-if)#no cdp enable
نکته دوم : CDP در لایه ۲ عمل می کند و می تواند اطلاعاتی را برای مهاجمان، به عنوان مثال(نوع دستگاه ، نسخههای سخت افزاری و نرمافزاری ،جزئیات آدرس VLAN و IP و موارد دیگر) ارسال کند که این میتواند بسیار نگران کننده باشد.