Thực hành buổi 3
📝 ĐỀ BÀI
1. Bài tập 8
💡 MÔ HÌNH
Cho mô hình như sau :

Tạo thư mục và các file
Tạo các file và thư mục như hình bên dưới :

Bằng cách thực hiện các lệnh sau:
mkdir ~/Desktop/BaiTap8
cd ~/Desktop/BaiTap8
mkdir pc1 pc2 pc3 pc4 switch
touch pc1.startup pc2.startup pc3.startup pc4.startup switch.startup
Thiết lập các file
:::: tabs
::: tab lab.conf
pc1[0]=A
pc2[0]=B
pc3[0]=C
pc4[0]=D
switch[0]=A
switch[1]=B
switch[2]=C
switch[3]=D
:::
::: tab pc1.startup
ifconfig eth0 10.0.0.10/24 up
ifconfig eth0 hw ether 00:00:00:00:00:10
:::
::: tab pc2.startup
ifconfig eth0 10.0.0.20/24 up
ifconfig eth0 hw ether 00:00:00:00:00:20
:::
::: tab pc3.startup
ifconfig eth0 10.0.0.30/24 up
ifconfig eth0 hw ether 00:00:00:00:00:30
:::
::: tab pc4.startup
ifconfig eth0 10.0.0.40/24 up
ifconfig eth0 hw ether 00:00:00:00:00:40
:::
::: tab switch.startup
ifconfig eth0 up
ifconfig eth0 hw ether 00:00:00:00:10:10
ifconfig eth1 up
ifconfig eth1 hw ether 00:00:00:00:20:20
ifconfig eth2 up
ifconfig eth2 hw ether 00:00:00:00:30:30
ifconfig eth3 up
ifconfig eth3 hw ether 00:00:00:00:40:40
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
brctl addif br0 eth2
brctl addif br0 eth3
brctl stp br0 on
ifconfig br0 up
::: ::::
🤔 GIẢI THÍCH
Chỉ số in màu vàng là địa chỉ vật lý
hw etherlà gắn địa chỉMACcho mạngTrong file
switch.startup:Tạo ra cầu nối tên là
br0và nối ở các nhánh khác nhauLệnh
addbr: tạo ra một cầu nối nối (br0,br1...) để nối nhánhA,B,CvàDlạiLệnh
addif: Đăng ký các cổng củaswitchảo và cầu nối. Các cổng thuộc chung 1 cầu nối thì truyền dữ liệu cho nhauLệnh
stp <name_of_bridge>: Kích hoạt giải thuậtSTPtrên một cầu nối củaswitchảoLệnh
ifconfig <name_of_bridge>: Kích hoạt cầu nối (br0,br1...)
Khởi tạo hệ thống máy ảo
Sử dụng lệnh Kathara sau :
kathara lstart pc1 pc2 pc3 pc4 switch
Trên thiết bị switch sử dụng MAC Lookup Table bằng lệnh sau :
brctl showmacs br0

Trên máy ảo pc1, pc3, switch thực hiện lệnh tcpdump như sau :
:::: tabs
::: tab pc1
tcpdump -e -q -w /shared/BT8_pc1.pcap
:::
::: tab pc2
tcpdump -e -q -w /shared/BT8_pc2.pcap
:::
::: tab switch
tcpdump -e -q -w /shared/BT8_switch.pcap
::: ::::
🤔 GIẢI THÍCH
-e: Thay vì hiển thị địa chỉIPsẽ được thay thế bằng địa chỉMAC-q: Hiển thị ít thông tin hơn-w: Xuất file ra đường dẫn cụ thể
Từ pc2 thực hiện ping tới pc3 bằng lệnh ping 10.0.0.30 -c 10

Thực hiện gõ lại lệnh brctl showmacs br0 trên switch và xem khác biệt :

💡 NHẬN XÉT
Sau khi sử dụng lệnh ping từ switch đã sàn lọc lại các địa chỉ vật lý của các máy hiện có và cập nhật nó vào trong MAC Lookup Table
Phân tích gói pcap trên WireShark
Trong thư mục shared ở BaiTap8, có chứa các file .pcap đã được phân tích trước đó
Hãy mở file BT8_switch.pcap bằng WireShark:

Chọn khung giao diện có giao thức ARP đến từ địa chỉ MAC : 00:00:00:00:00:20
Trên hình là khung số
8
💡 NHẬN XÉT
Switchnhận được khung dữ liệu này vìpc2đã ping tớipc3.pc2truyền thông điệp tớiswitchđể tìm địa chỉMACcủapc3Khung dữ liệu này có ý nghĩa
switchđã nhận được yêu cầu tìm địa chỉ vật lý củapc3màpc2gửi tới
Chọn khung giao diện có giao thức ARP đến từ địa chỉ MAC : 00:00:00:00:00:30
Trên hình là khung số
9

💡 NHẬN XÉT
Switchnhận được khung dữ liệu này vì đã tìm thấy được địa chỉ vật lý củapc3Khung dữ liệu này có ý nghĩa là
switchđã gửi địa chỉ vật lý củapc3tớipc2
Mở file BT8_pc1.pcap bằng WireShark
Chọn khung dữ liệu có giao thức ARP đến từ địa chỉ MAC 00:00:00:00:00:20
Trên hình là khung
43

💡 NHẬN XÉT
pc1nhận được dữ liệu này vìswitchtruyền quảng bá khung dữ liệu ra tất cả các cổng để tìm được địa chỉ vật lý củapc3Khung dữ liệu này có ý nghĩa
pc1sẽ không hồi đáp vì10.0.0.30không phải là IP củapc1
Mở file BT8_pc3.pcap bằng WireShark
Chọn khung dữ liệu có giao thức ARP đến từ địa chỉ MAC 00:00:00:00:00:20
Trên hình là khung
30

💡 NHẬN XÉT
pc3nhận được khung này vìswitchtruyền bá khung dữ liệu ra tất cả các cổng để tìm địa chỉ vật lý củapc3pc3sẽ phản hồi khung này, vì địa chỉ củapc3là10.0.0.30khớp với địa chỉswitchđang tìm kiếm
📝 KẾT LUẬN
Sau khi thực hiện
pinggiữa 2 máy ảo có cùngswitchthìswitchsẽ truyền dữ liệu tìm kiếm đến tất cả các thiết bị đượcswitchnối kết trong cùng mạngLANSau đó
switchhọc được địa chỉ vật lý của các máy tính đó và cập nhật vào trongMAC Lookup Table
Huỷ hệ thống máy ảo
Sử dụng lệnh sau để huỷ hệ thống máy ảo vừa tạo :
kathara wipe
2. Bài tập 9
💡 MÔ HÌNH
Xây dụng mô hình mạng như sau :

Tạo thư mục và các file
Tạo các thư mục theo mô hình như sau :

Bằng cách sử dụng các lệnh sau :
mkdir ~/Desktop/BaiTap9
cd ~/Desktop/BaiTap9
mkdir pc1 pc2 pc3 pc4 pc5 pc6 pc7 pc8 switch1 switch2
touch lab.conf pc1.startup pc2.startup pc3.startup pc4.startup pc5.startup pc6.startup pc7.startup pc8.startup switch1.startup switch2.startup
Thiết lập các file
:::: tabs
::: tab lab.conf
pc1[0]=A
pc2[0]=B
pc3[0]=C
pc4[0]=D
pc5[0]=E
pc6[0]=F
pc7[0]=G
pc8[0]=H
switch1[0]=A
switch1[1]=B
switch1[2]=C
switch1[3]=D
switch1[4]=K
switch2[0]=E
switch2[1]=F
switch2[2]=G
switch2[3]=H
switch2[4]=K
:::
::: tab pc1.startup
ifconfig eth0 10.0.0.10/24 up
ifconfig eth0 hw ether 00:00:00:00:00:10
:::
::: tab pc2.startup
ifconfig eth0 10.0.0.20/24 up
ifconfig eth0 hw ether 00:00:00:00:00:20
:::
::: tab pc3.startup
ifconfig eth0 10.0.0.30/24 up
ifconfig eth0 hw ether 00:00:00:00:00:30
:::
::: tab pc4.startup
ifconfig eth0 10.0.0.40/24 up
ifconfig eth0 hw ether 00:00:00:00:00:40
:::
::: tab pc5.startup
ifconfig eth0 10.0.0.11/24 up
ifconfig eth0 hw ether 00:00:00:00:77:10
:::
::: tab pc6.startup
ifconfig eth0 10.0.0.22/24 up
ifconfig eth0 hw ether 00:00:00:00:77:20
:::
::: tab pc7.startup
ifconfig eth0 10.0.0.33/24 up
ifconfig eth0 hw ether 00:00:00:00:77:30
:::
::: tab pc8.startup
ifconfig eth0 10.0.0.44/24 up
ifconfig eth0 hw ether 00:00:00:00:77:40
:::
::: tab switch1.startup
ifconfig eth0 up
ifconfig eth0 hw ether 00:00:00:00:10:10
ifconfig eth1 up
ifconfig eth1 hw ether 00:00:00:00:20:20
ifconfig eth2 up
ifconfig eth2 hw ether 00:00:00:00:30:30
ifconfig eth3 up
ifconfig eth3 hw ether 00:00:00:00:40:40
ifconfig eth4 up
ifconfig eth4 hw ether 00:00:00:00:50:50
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
brctl addif br0 eth2
brctl addif br0 eth3
brctl addif br0 eth4
brctl stp br0 on
ifconfig br0 up
:::
::: tab switch2.startup
ifconfig eth0 up
ifconfig eth0 hw ether 00:00:00:00:88:10
ifconfig eth1 up
ifconfig eth1 hw ether 00:00:00:00:88:20
ifconfig eth2 up
ifconfig eth2 hw ether 00:00:00:00:88:30
ifconfig eth3 up
ifconfig eth3 hw ether 00:00:00:00:88:40
ifconfig eth4 up
ifconfig eth4 hw ether 00:00:00:00:88:50
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
brctl addif br0 eth2
brctl addif br0 eth3
brctl addif br0 eth4
brctl stp br0 on
ifconfig br0 up
::: ::::

Khởi tạo hệ thống máy ảo
Sử dụng lệnh kathara sau để khởi thộng hệ thống máy ảo
kathara lstart pc1 pc2 pc3 pc4 pc5 pc6 pc7 pc8 switch1 switch2
⚠️ LƯU Ý
Nếu xuất hiện lỗi gì trước dòng End Startup Commands Log, thì kiểm tra lại file cấu hình có đúng không
Kiểm tra MAC Lookup Table cho switch1 và switch2 bằng lệnh sau:
brctl showmacs br0
![]() | ![]() |
|---|
Trên máy ảo switch1 và switch2 thực hiện lệnh tcpdump như sau:
:::: tabs
::: tab switch1
tcpdump -e -q -w /shared/BT9_switch1.pcap
:::
::: tab switch2
tcpdump -e -q -w /shared/BT9_switch2.pcap
::: ::::
Sau đó dừng switch1 và switch2 bằng lệnh CTRL+C
Sử dụng lại lệnh brctl showmacs br0 cho switch1 và switch2 để xem sự khác biệt
💡 NHẬN XÉT
switch1học địa chỉ củapc1vàpc4switch2chỉ học được địa chỉ củapc1, (vìpc1ping tớipc4), đường đi này không qua nối kết đếnLANtrongswitch2pc5,pc6,pc7,pc8có nhận được gói tinICMPđến từpc1
Trên máy ảo switch1 và switch2 thực hiện lệnh tcpdump như sau:
:::: tabs
::: tab switch1
tcpdump -e -q -w /shared/BT9_switch1_B.pcap
:::
::: tab switch2
tcpdump -e -q -w /shared/BT9_switch2_B.pcap
::: ::::
Từ pc2 ping tới pc7 bằng lệnh sau :
ping 10.0.0.33 -c 10
Gõ lại lệnh brctl showmacs br0 cho thiết bị switch1 và switch2
💡 NHẬN XÉT
switch1chỉ học được địa chỉ của máypc2,pc7switch2chỉ học được địa chỉ của máypc2,pc2pc5,pc6,pc7,pc8có nhận được gói tin từpc2
📝 KẾT LUẬN
Nếu ping giữa 2 máy khác nhau khác nhánh mạng
LANSwitchnhận được địa chỉ vật lý của máy tính thuộc cùng nhánh mạng đó hoặc khác nhánh
Huỷ hệ thống máy ảo
Sử dụng lệnh sau để huỷ hệ thống máy ảo vừa tạo :
kathara wipe
3. Bài tập 10
💡 MÔ HÌNH
Xây dựng mô hình sau :

Tạo thư mục và các file
Tạo các thư mục theo mô hình như sau :

mkdir ~/Desktop/BaiTap10
cd ~/Desktop/BaiTap10
mkdir pc1 pc2 pc3 pc4 switch1 switch2 router
touch lab.conf pc1.startup pc2.startup pc3.startup pc4.startup switch1.startup switch2.startup router.startup
Thiết lập các file
⚠️ LƯU Ý
Vì mô hình không có IP tĩnh và các tên nhánh mạng sẵn nên ta phải tự điền, tham khảo như sau :

:::: tabs
::: tab lab.conf
pc1[0]=A
pc2[0]=B
pc3[0]=D
pc4[0]=E
switch1[0]=A
switch1[1]=B
switch1[2]=C
switch2[0]=D
switch2[1]=E
switch2[2]=F
router[0]=C
router[1]=F
:::
::: tab pc1.startup
ifconfig eth0 192.168.10.10/24 up
route add default gw 192.168.10.1
:::
::: tab pc2.startup
ifconfig eth0 192.168.10.11/24 up
route add default gw 192.168.10.1
:::
::: tab pc3.startup
ifconfig eth0 192.168.11.10/24 up
route add default gw 192.168.11.1
:::
::: tab pc4.startup
ifconfig eth0 192.168.11.11/24 up
route add default gw 192.168.11.1
:::
::: tab switch1.startup
ifconfig eth0 up
ifconfig eth1 up
ifconfig eth2 up
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
brctl addif br0 eth2
brctl stp br0 on
ifconfig br0 up
:::
::: tab switch2.startup
ifconfig eth0 up
ifconfig eth1 up
ifconfig eth2 up
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
brctl addif br0 eth2
brctl stp br0 on
ifconfig br0 up
:::
::: tab router.startup
ifconfig eth0 192.168.10.1/24 up
ifconfig eth1 192.168.11.1/24 up
::: ::::
Khởi tạo hệ thống máy ảo
Sử dụng lệnh kathara sau để khởi chạy thiết bị máy ảo vừa tạo :
kathara lstart pc1 pc2 pc3 pc4 router switch1 switch2
💡 MẸO
Hãy chắc rằng các thiết bị của bạn đều chính xác, hãy kiểm tra Startup Commands Log trên từng thiết bị xem có cái này bị lỗi hay không
Sử dụng lệnh brctl showmacs br0 cho switch1 và switch2
Sử dụng lệnh tcpdump sau lần lượt cho switch1 và switch2 như sau :
:::: tabs
::: tab switch1
tcpdump -e -q -w /shared/BT10_swtich1.pcap
:::
::: tab switch2
tcpdump -e -q -w /shared/BT10_switch2.pcap
::: ::::
Sau đó từ pc1 sử dụng lệnh ping tới pc2, pc3 và pc4 như sau:

Sử dụng lại lệnh brctl showmacs br0 cho switch1 và switch2 để xem lại cập nhật MAC Lookup Table

Các địa chỉ vật lý
ipcủa nhiều thiết bị đã được cácswitchhọc khi sử dụngpingtới từng thiết bị
Huỷ hệ thống máy ảo
Sử dụng lệnh sau để huỷ hệ thống máy ảo :
kathara wipe
4. Bài tập 11
💡 MÔ HÌNH
Xây dựng mô hình như sau :

Tạo thư mục và các file
Tạo các file và thư mục theo mô hình sau :

Bằng cách sử dụng các lệnh sau :
mkdir ~/Desktop/BaiTap10
cd ~/Desktop/BaiTap10
mkdir pc1 pc2 pc3 pc4 pc5 pc6 pc7 pc8 switch1 switch2 switch3 switch4 router1 router2
touch lab.conf pc1.startup pc2.startup pc3.startup pc4.startup pc5.startup pc6.startup pc7.startup pc8.startup switch1.startup switch2.startup switch3.statup switch4.startup router1.startup router2.startup
Thiết lập các file
⚠️ LƯU Ý
Trước hết ta phải lập ra tên các nhánh mạng như sau :

Sử dụng gedit để thiết lập các file như sau :
lab.conf
pc1[0]=A
pc2[0]=B
pc3[0]=C
pc4[0]=D
pc5[0]=G
pc6[0]=H
pc7[0]=I
pc8[0]=J
switch1[0]=A
switch1[1]=B
switch1[2]=E
switch2[0]=C
switch2[1]=D
switch2[2]=F
switch3[0]=G
switch3[1]=H
switch3[2]=K
switch4[0]=I
switch4[1]=J
switch4[2]=O
router1[0]=E
router1[1]=F
router1[2]=M
router2[0]=O
router2[1]=K
router2[2]=M
:::: tabs
::: tab pc1.startup
ifconfig eth0 192.168.10.10/24 up
ifconfig eth0 hw ether 00:00:00:00:00:10
route add default gw 192.168.10.1
:::
::: tab pc2.startup
ifconfig eth0 192.168.10.11/24 up
ifconfig eth0 hw ether 00:00:00:00:00:20
route add default gw 192.168.10.1
:::
::: tab pc3.startup
ifconfig eth0 192.168.11.10/24 up
ifconfig eth0 hw ether 00:00:00:00:11:10
route add default gw 192.168.11.1
:::
::: tab pc4.startup
ifconfig eth0 192.168.11.11/24 up
ifconfig eth0 hw ether 00:00:00:00:10:20
route add default gw 192.168.11.1
:::
::: tab pc5.startup
ifconfig eth0 192.168.20.10/24 up
ifconfig eth0 hw ether 00:00:00:00:22:10
route add default gw 192.168.20.1
:::
::: tab pc6.startup
ifconfig eth0 192.168.20.11/24 up
ifconfig eth0 hw ether 00:00:00:00:22:20
route add default gw 192.168.20.1
:::
::: tab pc7.startup
ifconfig eth0 192.168.21.10/24 up
ifconfig eth0 hw ether 00:00:00:00:33:10
route add default gw 192.168.21.1
:::
::: tab pc8.startup
ifconfig eth0 192.168.21.10/24 up
ifconfig eth0 hw ether 00:00:00:00:33:20
route add default gw 192.168.21.1
::: ::::
:::: tabs
::: tab switch1.startup
ifconfig eth0 up
ifconfig eth0 hw ether 00:00:00:00:10:10
ifconfig eth1 up
ifconfig eth1 hw ether 00:00:00:00:10:20
ifconfig eth2 up
ifconfig eth2 hw ether 00:00:00:00:10:30
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
brctl addif br0 eth2
brctl stp br0 on
ifconfig br0 up
:::
::: tab switch2.startup
ifconfig eth0 up
ifconfig eth0 hw ether 00:00:00:00:88:10
ifconfig eth1 up
ifconfig eth1 hw ether 00:00:00:00:88:20
ifconfig eth2 up
ifconfig eth2 hw ether 00:00:00:00:88:30
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
brctl addif br0 eth2
brctl stp br0 on
ifconfig br0 up
:::
::: tab switch3.startup
ifconfig eth0 up
ifconfig eth0 hw ether 00:00:00:00:20:10
ifconfig eth1 up
ifconfig eth1 hw ether 00:00:00:00:20:20
ifconfig eth2 up
ifconfig eth2 hw ether 00:00:00:00:20:30
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
brctl addif br0 eth2
brctl stp br0 on
ifconfig br0 up
:::
::: tab switch4.startup
ifconfig eth0 up
ifconfig eth0 hw ether 00:00:00:00:44:10
ifconfig eth1 up
ifconfig eth1 hw ether 00:00:00:00:44:20
ifconfig eth2 up
ifconfig eth2 hw ether 00:00:00:00:44:30
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
brctl addif br0 eth2
brctl stp br0 on
ifconfig br0 up
:::
::: tab router1.startup
ifconfig eth0 192.168.10.1/24 up
ifconfig eth1 192.168.11.1/24 up
ifconfig eth2 10.0.0.1/30 up
route add -net 192.168.20.0/24 gw 10.0.0.2
route add -net 192.168.21.0/24 gw 10.0.0.2
:::
::: tab router2.startup
ifconfig eth0 192.168.21.1/24 up
ifconfig eth1 192.168.20.1/24 up
ifconfig eth2 10.0.0.2/30 up
route add -net 192.168.10.0/24 gw 10.0.0.1
route add -net 192.168.11.0/24 gw 10.0.0.1
::: ::::
Khởi tạo hệ thống máy ảo
Sử dụng lệnh kathara sau dể khởi tạo máy ảo :
kathara lstart pc1 pc2 pc3 pc4 pc5 pc6 pc7 pc8 switch1 switch2 switch3 switch4 router1 router2
💡 MẸO
Hãy chắc rằng các thiết bị của bạn đều chính xác, hãy kiểm tra Startup Commands Log trên từng thiết bị xem có cái này bị lỗi hay không
Huỷ hệ thống máy ảo
Sử dụng lệnh sau để huỷ máy ảo :
kathara wipe




















