0×1.如何查看某IP所屬端口
實際工作中的交換機上的MAC地址可能有幾百甚至幾千條,想從這些條目中用眼睛找出某個IP對應MAC地址或者某個MAC地址對應端口無疑是一件費時間的事情,下面這個方法可以很快的查找出某個IP對應的MAC和端口,首先配置下面的拓撲圖(圖1),然后在IOU交換機中,查找一下192.168.1.2的MAC在交換機MAC表中對應了哪個端口(本例圖中很明顯可以看出,所有PC的MAC地址在IOU交換機MAC表中都對應了e0/0端口,但真實環(huán)境可能沒有這種直觀的拓撲圖):

上圖中,IOU1是IOU虛擬機中的交換機,3臺vpsc模擬3臺PC,SW1是GNS3中不可網(wǎng)管交換機"Ethernet switch";
PC1~3配置:
1
/依次進入PC1~3控制臺,使用下面的命令配置各PC,本例僅給出PC1的配置/
2
vpcs> set pcname PC1
3
PC1>
ip
192.168.1.1/24 192.168.1.254
4
Checking for duplicate
address
...
5
PC1 : 192.168.1.1 255.255.255.0 gateway 192.168.1.254
IOU交換機配置:
1
IOU1#
conf
t
2
IOU1(config)#
host
IOU-SW
3
IOU-SW(config)#
int
vlan1
4
IOU-SW(config-if)#
ip
add
192.168.1.254 255.255.255.0
5
IOU-SW(config-if)#
no
shut
6
IOU-SW(config-if)#
end
在PC1~3上面啟用連續(xù)ping,模擬與外界的通信:
1
/30秒
ping
一次網(wǎng)關(guān),本例僅給出PC1的命令/
2
PC1>
ping
192.168.1.254 -
t
-i 30000
此時查看交換機上的arp表,應該能看到下面的輸出:
01
IOU-SW#
show
arp
02
Protocol Address Age (min) Hardware Addr Type Interface
03
Internet 192.168.1.1 0 0050.7966.6800 ARPA Vlan1
04
Internet 192.168.1.2 0 0050.7966.6801 ARPA Vlan1
05
Internet 192.168.1.3 0 0050.7966.6802 ARPA Vlan1
06
Internet 192.168.1.254 - aabb.cc80.0100 ARPA Vlan1
07
08
/假如看到的不是4條,而是幾百條甚至更多,想找出某個IP對應的MAC以及在MAC表中對應的端口,可以使用下面的方法/
09
10
/首先找出目標IP對應的MAC地址/
11
IOU-SW#
show
arp |
include
192.168.1.2
12
Internet 192.168.1.2 1 0050.7966.6801 ARPA Vlan1
13
Internet 192.168.1.254 - aabb.cc80.0100 ARPA Vlan1
14
15
/使用找到的MAC地址獲得對應的端口,本例為e0/0,與拓撲一致/
16
IOU-SW#
show
mac
address
-table |
include
0050.7966.6801
17
1 0050.7966.6801 DYNAMIC Et0/0
不要關(guān)閉PC1~3的ping,繼續(xù)下面的實驗。
0×2.MAC地址泛洪防范
MAC地址泛洪(Flooding)攻擊的原理:
根據(jù)交換機工作原理,即根據(jù)數(shù)據(jù)幀中的源MAC地址進行學習。當某臺主機偽造大量的虛假MAC地址發(fā)往交換機,交換機的地址表容量有限,當交換機的MAC地址表被填滿之后,交換機將不再學習其他MAC地址,此時不論是單播組播,交換機都進行泛洪轉(zhuǎn)發(fā);這樣,攻擊主機只需要在本地開啟一個抓包軟件即可捕獲局域網(wǎng)中的所有數(shù)據(jù)包;MAC地址表的老化時間默認是5分鐘,為了保證這種攻擊有效性,攻擊主機必須持續(xù)發(fā)動攻擊。
MAC地址泛洪攻擊的防范方法:
可以在接入端口上配置每個端口允許學習的MAC地址數(shù)量;
01
/*
02
- 將交換機端口配置成接入端口,三層交換機端口或二層的主干端口都不支持端口安全,
03
- 端口安全只能配置在二層的接入端口上
04
*/
05
06
IOU-SW#
conf
t
07
IOU-SW(config)#
int
e0/0
08
/將端口e0/0設置成接入端口/
09
IOU-SW(config-if)#
switchport
mode
access
10
/開啟端口安全/
11
IOU-SW(config-if)#
switchport
port-security
12
/允許最大學習3個MAC地址/
13
IOU-SW(config-if)#
switchport
port-security
maximum
3
14
15
/查看一下違規(guī)可以進行的操作/
16
IOU-SW(config-if)#
switchport
port-security
violation
?
17
/阻止新的MAC學習/
18
protect
Security
violation
protect
mode
19
/大致功能同上/
20
restrict
Security
violation
restrict
mode
21
/關(guān)閉端口(慎用)/
22
shutdown
Security
violation
shutdown
mode
23
24
/這里選擇保護,本例即超過3 MAC后不學習新的MAC/
25
IOU-SW(config-if)#
switchport
port-security
violation
protect
26
IOU-SW(config-if)#
exit
27
28
/命令簡寫,效果同上/
29
IOU-SW(config)#
int
e0/0
30
IOU-SW(config-if)#
swi
m a
31
IOU-SW(config-if)#
swi
po
32
IOU-SW(config-if)#
swi
po
max
3
33
IOU-SW(config-if)#
swi
po v p
34
IOU-SW(config-if)#
end
使用下面的命令可以查看某個接入端口的安全規(guī)則:
01
IOU-SW#
show
port-security
int
e0/0
02
03
/開啟了端口安全/
04
Port Security : Enabled
05
Port Status : Secure-up
06
Violation Mode : Protect
07
Aging Time : 0 mins
08
Aging Type : Absolute
09
SecureStatic Address Aging : Disabled
10
/最大可學習MAC數(shù)/
11
Maximum MAC Addresses : 3
12
/已經(jīng)學習到的MAC數(shù)/
13
Total MAC Addresses : 3
14
Configured MAC Addresses : 0
15
Sticky MAC Addresses : 0
16
Last Source Address:Vlan : 0050.7966.6800:1
17
/違規(guī)次數(shù)/
18
Security Violation Count : 0
現(xiàn)在增加一臺vpcs,配置IP如下圖所示:

使用PC4去ping交換機的Vlan1,發(fā)現(xiàn)ping不通,這是因為IOU-SW的mac表中已經(jīng)學習了三臺設備的mac,根據(jù)我們的端口安全配置,交換機不會再學習PC4的mac,如果將交換機的端口安全violation設置成shutdown,再用PC4去ping一次,就會讓e0/0接口直接關(guān)閉:
01
IOU-SW#
conf
t
02
IOU-SW(config)#
int
e0/0
03
IOU-SW(config-if)#
swi
por vi
shutdown
04
05
/此時PC4
ping
一下192.168.1.254,在交換機上就出現(xiàn)了下面的提示,e0/0已經(jīng)關(guān)閉/
06
*May 15 10:40:37.431: %PM-4-ERR_DISABLE: psecure-
violation
error detected on Et0/0, putting Et0/0 in err-
disable
state
07
*May 15 10:40:37.431: %PORT_SECURITY-2-PSECURE_VIOLATION: Security
violation
occurred, caused by MAC
address
0050.7966.6803 on port Ethernet0/0.
08
*May 15 10:40:38.431: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/0, changed state to down
09
*May 15 10:40:39.432: %LINK-3-UPDOWN: Interface Ethernet0/0, changed state to down
10
11
/接口已經(jīng)關(guān)閉/
12
IOU-SW#
show
ip
int
b
13
Interface IP-Address OK? Method Status Protocol
14
Ethernet0/0 unassigned YES unset down down
15
16
/查看端口安全信息可以看到
"Security Violation Count"
計數(shù)變成了1/
17
IOU-SW#
show
port-security
int
e0/0
18
Port Security : Enabled
19
Port Status : Secure-
shutdown
20
Violation Mode : Shutdown
21
Aging Time : 0 mins
22
Aging Type : Absolute
23
SecureStatic Address Aging : Disabled
24
Maximum MAC Addresses : 3
25
Total MAC Addresses : 0
26
Configured MAC Addresses : 0
27
Sticky MAC Addresses : 0
28
Last Source Address:Vlan : 0050.7966.6803:1
29
Security Violation Count : 1
交換機可以使用range命令一次配置多個端口:
1
/統(tǒng)一配置交換機的e1/0至e1/2以及e2/1至e2/3號端口/
2
IOU-SW(config)#
int
range e1/0-2,e2/1-3
3
IOU-SW(config-if-range)#
swi
m a
4
IOU-SW(config-if-range)#
swi
po
5
IOU-SW(config-if-range)#
swi
po
max
10
6
IOU-SW(config-if-range)#
swi
po v p
7
IOU-SW(config-if-range)#
end
0×3.DHCP欺騙防范
下圖中,R1運行了DHCP服務,R2也運行了DHCP服務,R1-2和PC1-2連接在IOU虛擬機中運行的交換機中,PC1-2是兩臺vpcs來模擬PC終端,現(xiàn)在如果讓兩臺vpcs自動獲取IP,則可能隨機從R1或R2上獲取到IP地址(看誰先應答),如果此時R1所在線路出現(xiàn)故障,那么全部的PC將獲得R2上DHCP地址池中的地址,如果連接R2的線路存在安全隱患,就有可能讓其他人使用這種方法在這條線路上搭建一個DHCP服務器來欺騙正常的PC獲取到他指定的IP,請看下面的實例:

R1配置:
01
R1>
en
02
R1#
conf
t
03
R1(config)#
int
f1/0
04
R1(config-if)#
ip
add
192.168.1.1 255.255.255.0
05
R1(config-if)#
no
shut
06
R1(config-if)#
exit
07
R1(config)#
ip
dhcp
excluded-address
192.168.1.1
08
R1(config)#
ip
dhcp
pool
192pool
09
R1(dhcp-config)#
network
192.168.1.0 255.255.255.0
10
R1(dhcp-config)#
default-router
192.168.1.1
11
R1(dhcp-config)#
dns-server
192.168.1.1
12
R1(dhcp-config)#
domain-name
www.qingsword.com
13
R1(dhcp-config)#
lease
1
14
R1(dhcp-config)#
end
R2配置:
01
R2>
en
02
R2#
conf
t
03
R2(config)#
int
fa 1/0
04
R2(config-if)#
ip
add
172.16.1.1 255.255.255.0
05
R2(config-if)#
no
shut
06
R2(config-if)#
exit
07
R2(config)#
ip
dhcp
excluded-address
172.16.1.1
08
R2(config)#
ip
dhcp
pool
172pool
09
R2(dhcp-config)#
network
172.16.1.0 255.255.255.0
10
R2(dhcp-config)#
default-router
172.16.1.1
11
R2(dhcp-config)#
dns-server
172.16.1.1
12
R2(dhcp-config)#
domain-name
www.qingsword.com
13
R2(dhcp-config)#
lease
9
14
R2(dhcp-config)#
end
PC獲取IP:
1
/在沒有配置IOU交換機前,PC可能獲取到兩臺路由器上的任何一個DHCP池中的IP地址/
2
VPCS>
ip
dhcp
3
DDORA IP 192.168.1.2/24 GW 192.168.1.1
4
5
/釋放這個IP,再次獲取,多試幾次,會發(fā)現(xiàn)IP在R1的DHCP地址池和R2地址池中交替獲取/
6
VPCS>
ip
dhcp -x
7
VPCS>
ip
dhcp
8
DDORA IP 172.16.1.2/24 GW 172.16.1.1
現(xiàn)在配置IOU交換機,讓PC1-2只能在R1上獲取,并限制其他端口DHCP請求發(fā)送速率:
01
IOU1#
conf
t
02
03
/啟用DHCP防欺騙功能/
04
IOU1(config)#
ip
dhcp
snooping
05
/*
06
- 在Vlan1上啟用DHCP防欺騙功能,
07
- 默認情況下交換機所有端口都屬于Vlan1,如果創(chuàng)建了其他VLAN,
08
- 可以使用相同的方法啟動在那個Vlan上的DHCP防欺騙功能,
09
- 比如:
"ip dhcp snooping vlan 2"
。
10
*/
11
IOU1(config)#
ip
dhcp
snooping
vlan 1
12
13
/設置下面這幾個端口為可信任端口,不可信任端口將不會接受DHCP應答包,如果可信端口中不包含與PC相連的端口,那么PC也不能接收到DHCP應答包了/
14
IOU1(config)#
int
range e3/2,e0/0,e0/1
15
IOU1(config-if)#
ip
dhcp
snooping
trust
16
IOU1(config-if)#
exit
17
18
/*
19
- 限制這個交換機上其他端口的DHCP請求包的發(fā)送速率,
20
- 避免非法用戶發(fā)送大量DHCP請求耗盡DHCP服務器資源。
21
*/
22
IOU1(config)#
int
range e0/2-3,e1/0-3,e2/0-3,e3/0-1,e3/3
23
IOU1(config-if-range)#
ip
dhcp
snooping
limit
rate
2
24
IOU1(config-if-range)#
end
現(xiàn)在再從PC上面用DHCP獲取IP,就只能獲取到R1上面的IP了:
1
VPCS>
ip
dhcp -x
2
VPCS>
ip
dhcp
3
DDORA IP 192.168.1.3/24 GW 192.168.1.1
0×4.ARP攻擊原理與防范
前面分享了一篇文章[Linux環(huán)境下ARP攻擊的實現(xiàn)與防范];文中提到了局域網(wǎng)ARP攻擊形成的原因,如何攻擊以及如何防范。想要進一步了解的朋友可以參考一下這篇文章。
在一個小型局域網(wǎng)中,可以使用雙向綁定的方法,在計算機上使用arp命令,或第三方ARP防火墻綁定網(wǎng)關(guān)MAC,然后在交換設備或路由上使用下面的命令靜態(tài)綁定計算機IP對應的MAC地址:
01
/查看R1上的arp地址表/
02
R1#
show
arp
03
Protocol Address Age (min) Hardware Addr Type Interface
04
Internet 192.168.1.1 - cc01.0f47.0010 ARPA FastEthernet1/0
05
Internet 192.168.1.3 37 0050.7966.6801 ARPA FastEthernet1/0
06
Internet 192.168.1.2 16 0050.7966.6800 ARPA FastEthernet1/0
07
08
/靜態(tài)綁定192.168.1.2這個地址的MAC,前面是要綁定的IP后面是個IP對應的MAC地址/
09
R1#
conf
t
10
R1(config)#arp 192.168.1.2 0050.7966.6800 arpa
11
R1(config)#
end
12
/再次查看R1上的arp地址表發(fā)現(xiàn)靜態(tài)綁定后,arp條目沒有了失效時間/
13
R1#
show
arp
14
Protocol Address Age (min) Hardware Addr Type Interface
15
Internet 192.168.1.1 - cc01.0f47.0010 ARPA FastEthernet1/0
16
Internet 192.168.1.3 38 0050.7966.6801 ARPA FastEthernet1/0
17
Internet 192.168.1.2 - 0050.7966.6800 ARPA
在一些大型的局域網(wǎng)中,可以在交換或路由設備上使用ARP動態(tài)綁定技術(shù)。
0×5.其他安全威脅
除上面幾種交換機的完全威脅以外,還有很多我們需要注意的地方比如:
交換機遠程登錄密碼過于簡單導致的暴力破解、Telnet明文傳輸(在命令行登錄路由器的時候建議使用SSH代替明文telnet)、CDP攻擊(建議不使用這個協(xié)議的時候關(guān)閉它,因為攻擊者可以從CDP信息中獲得設備的IP以及IOS版本,有些IOS版本存在Bug)、DOS攻擊等。