---
# System prepended metadata

title: Cisco C9800 WLC IP Theft 無線 IP 盜用功能
tags: [wireless, security, cisco]

---

# Cisco C9800 WLC IP Theft 無線 IP 盜用功能

###### tags: `cisco` `wireless` `security`

今天早上跟同事討論得知的一個小功能，就順手測試並記錄一下。

[toc]

## IP Theft 功能簡介
**The IP Theft feature prevents the usage of an IP address that is already assigned to another device**. If the controller finds that two wireless clients are **using the same IP address**, it declares the client with lesser precedence binding as the **IP thief** and allows the other client to continue. If blocked list is enabled, the client is put on the **exclusion list** and thrown out.

The IP Theft feature is **enabled by default on the controller**. The **preference level** of the clients (new and existing clients in the database) are also used to report IP theft. The preference level is a learning type or source of learning, such as
- **Dynamic Host Configuration Protocol (DHCP)**, 
- **Address Resolution Protocol (ARP)**, 
- **data glean (looking at the IP data packet that shows what IP address the client is using)**

and so on. The **wired clients always get a higher preference level**. If a wireless client tries to steal the wired IP, that client is declared as a thief.

The order of preference for IPv4 clients are:
- DHCPv4
- ARP
- Data packets

The order of preference for IPv6 clients are:
- DHCPv6
- NDP

[官網連結](https://www.cisco.com/c/en/us/td/docs/wireless/controller/9800/17-10/config-guide/b_wl_17_10_cg/m_ip_theft.html)

## 測試紀錄
透過 WLC 確認連線的無線終端設備。其中 10.7.1.201 為測試目標。
![](https://i.imgur.com/XKi3CEN.png)

確認 **IP Theft or IP Reuse** 啟用。
> **Configuration**> **Security**> **Wireless Protection Policies**> **Client Exclusion Policies**

![](https://i.imgur.com/SSM8FUg.png)

使用 CLI 確認比較方便。
- **`show wireless wps summary`**

![](https://i.imgur.com/G7TCZqJ.png)

- **`show wireless client summary`**

![](https://i.imgur.com/jlBVgaZ.png)

- **`show wireless device-tracking database ip`**

![](https://i.imgur.com/9x70vxw.png)

- **`show wireless exclusionlist`**

![](https://i.imgur.com/YJUcHLp.png)

:::warning
:question: 
- 因為不知道該如何讓無線終端設備取得同一個 IP 位址 **10.7.1.201**，所以改用有線裝置設定相同 IP 位址進行測試。
- 另外不知道該如何讓 WLC 知道有線裝置使用同一個 IP 位址，所以手動在 Device-Tracking 資料庫中添加該筆紀錄。
:::

使用以下命令完成有線裝置靜態指定。
```
C9800#conf t
C9800(config)#device-tracking binding vlan 1 10.7.1.201 int vlan 1 3a1c.1d90.aed3
```

並使用 **`show device-tracking database`** 確定組態。
 
![](https://i.imgur.com/teHTH9p.png)

此時，將有線裝置的 IP 位址設定為 **`10.7.1.201`**，並將無線裝置重新連線。

發現 **wireless device-tracking database** 紀錄已經被靜態設定所取代。

![](https://i.imgur.com/UQnaY4K.png)

從 WLC 檢視 **Excluded Client** 紀錄，發現重新連線的無線裝置因為**盜取 IP 位址**而被列入**排除名單**。

![](https://i.imgur.com/81X2IvR.png)

從 CLI 確認 exclusion list 狀態。

![](https://i.imgur.com/RcZ0YIR.png)

**default-policy-profile** 預設的 Exclusion List 的 Timeout 為 **60**。

:::info
可使用命令調整預設 Timeout 閥值。
```
C9800(config-wireless-policy)#wireless profile policy default-policy-profile
C9800(config-wireless-policy)#exclusionlist timeout 5
```
:::

![](https://i.imgur.com/GcMeNV0.png)

從 WLC 的日誌文件可以檢視出相關紀錄。

```log!
1    Jan 13 11:31:54: %SISF-4-IP_THEFT: Chassis 1 R0/0: wncd: IP Theft Collision hit !! legit client =3a1c.1d90.aed3 IP addr =10.7.1.201 Vlan =1 Ifhdl =CAPWAP 0x90000005 legit entry time =2023 Fri Jan 13 11:31:54.944215 thief client =f4f5.dbce.2d91 theft time =2023 Fri Jan 13 11:31:54.948259
2    Jan 13 11:31:54: %CLIENT_ORCH_LOG-5-ADD_TO_BLACKLIST_REASON: Chassis 1 R0/0: wncd: Client MAC: f4f5.dbce.2d91 with IP: 10.7.1.201 was added to exclusion list, legit Client MAC: 3a1c.1d90.aed3, IP: 10.7.1.201, reason: IP address theft
```

:::info
- MAC 位址
  - 有線裝置: 3a1c.1d90.aed3
  - 無線裝置: f4f5.dbce.2d91
- 日誌紀錄解讀
  - 第 1 行: 系統發現 IP 盜用行為。<font color=red>小偷客戶(thief client)</font>是 **`f4f5.dbce.2d91`**，<font color=blue>合法客戶(legit client)</font>是 **`3a1c.1d90.aed3`**。
  - 第 2 行: 小偷客戶加入排除清單。
:::

![](https://i.imgur.com/Ywu9ai3.png)


:::success
- IP Theft 的確可以增加網路安全！
- 如果是外部 DHCP 或是有線裝置，系統該如何收集相關訊息，目前並無相關資訊！如果你知道，務必告知我，謝謝。
- 我已經不懂這些網路組態了，可以用**光年**來度量了！
:::

## 參考連結

- [Cisco Catalyst 9800 Series Wireless Controller Programmability Guide](https://www.cisco.com/c/en/us/td/docs/wireless/controller/9800/programmability-guide/b_c9800_programmability_cg/cisco-catalyst-9800-series-wireless-controller-programmability-guide.html)
- [Deploying Cisco C9800 WLC on ESXi](https://rowelldionicio.com/deploying-cisco-catalyst-9800-controller-on-vmware-esxi/)
- [Configuring Netconf Cisco C9800 WLC](https://rowelldionicio.com/configuring-netconf-cisco-c9800-wlc/)
[](https://www.cisco.com/c/en/us/products/collateral/wireless/catalyst-9800-series-wireless-controllers/catalyst-9800-programmability-telemetry-deployment-guide.html)

