Thực hành buổi 2
📝 ĐỀ BÀI
1.Chuẩn bị
WireShark
Giới thiệu WireShark là công cụ mã nguồn mở đa nền tảng cho phép quan sát và phân tích các các gòi dữ liệu mạng bắt được theo thời gian thực
💡 Cách cài đặt
Sử dụng lệnh sâu để cài đặt Wireshark
sudo apt-get install wireshark
WireShark
Vai trò của Công cụ WireShark
không thể cài trực tiếp trên Kathara
do Kathara
không hỗ trợ GUI
gây khó khăn cho người dùng
💡 FACT
Trên Kathara
ta sử dụng công cụ tcpdump
để bắt các gói tin vào file .pcap
2.Bài tập 5
💡 MÔ HÌNH
Xây dụng mô hình máy ảo 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 sử dụng các lệnh sau :
mkdir ~/Desktop/BaiTap5
cd ~/Desktop/BaiTap5
mkdir pc1 pc2 pc3 router1 router2
touch pc1.startup pc2.startup pc3.startup router1.startup router2.startup
Thiết lập các file
Sử dụng gedit
để cấu hình các file lần lượt như sau:
:::: tabs ::: tab lab.conf
pc1[0]=A
pc2[0]=B
pc3[0]=C
router1[0]=A
router1[1]=B
router2[0]=A
router2[1]=C
:::
::: tab pc1.startup
ifconfig eth0 10.0.0.101/24 up
route add -net 10.0.1.0/24 up 10.0.0.1
route add -net 10.0.2.0/24 gw 10.0.0.2
:::
::: tab pc2.startup
ifconfig eth0 10.0.1.101/24 up
route add default gw 10.0.1.1
:::
::: tab pc3.startup
ifconfig eth0 10.0.2.101/24 up
route add default gw 10.0.2.1
:::
::: tab router1.startup
ifconfig eth0 10.0.0.1/24 up
ifconfig eth1 10.0.1.1/24 up
route add -net 10.0.2.0/24 gw 10.0.0.2
:::
::: tab router2.startup
ifconfig eth0 10.0.0.2/24 up
ifconfth eth1 10.0.2.1
route add -net 10.0.1.0/24 gw 10.0.0.1
::: ::::
Khởi tạo hệ thống máy ảo
Sử dụng lệnh Kathara
sau để khởi động các máy ảo:
kathara lstart pc1 pc2 pc3 router1 router2
Sau đó thực hiện lệnh route
cho từng thiết bị để kiểm tra vạch đường đi chính xác như mô hình hay chưa
Phân tích các gói tin gửi tin
Bật phân tích các gói tin từ các thiết bị pc2
, router1
, router2
bằng lệnh sau :
tcpdump -s 1536 -w <path>/*.pcap
💡 GIẢI THÍCH
-s
: xác định kích thước của gói tin theo byte
1536
: 1536 byte theo tuỳ chọn -s
-w
: xuất file ra đường dẫn
⚠️ LƯU Ý
Nếu bạn muốn xuất ra file mà mà máy thật có thể truy cập được, hãy để <path>
là /share/*
VD: tcpdump -s 1536 -w /shared/BT5-router1.pcap
Từ đó, sử dụng lệnh ping
từ pc3
tới pc2
💡 MẸO
Để tắt nóng lệnh trên Terminal
, sử dụng tổ hợp phím CTRL+C
.pcap
trên WireShark
Truy cập file Trên thư mục BaiTap5
, sẽ có thư mục shared
, nơi đó là thư mục chung của máy thật và mảy ảo Kathara
Mở file BT5_pc2.pcap
bằng Wireshark
:
Theo dõi
packet 3
của file.
💡 NHẬN XÉT
Toàn bộ khung số
3
có kích thước là48 byte
Chọn Internet Control Message Protocol trong khung :
Gói tin sử dụng giao thức
ICMP
hoạt động trên tầng mạng của mô hìnhOSI
Nội dung thông điệp của giao thức này là
- Chọn Internet Protocol Version 4 trong khung :
Địa chỉ IP của máy gửi đi là
10.0.2.101
, địa chỉ này là củapc3
Địa chỉ IP máy nhận là
10.0.1.101
, địa chỉ này là củapc2
Định danh gói tin là
0x542b
Độ dài
Header
của thông điệp là20
bytesTrường Total Length có độ dài là
84
bytes. Đây là độ dài củadatagram
.
- Chọn
Ethernet II
trong khung :
Địa chỉ
MAC
của máy gửi dữ liệu làba:96:5f:5b:b5:fd
, đây là địa chỉ củapc2
Địa chỉ
MAC
của máy nhận dữ liệu làf2:0a:34:63:fb:bc
, đây là địa chỉMAC
củarouter1
Trường Type là
0x0800
, cho biết sử dụng giao thứcIPv4
Trường Payload có độ dài là
64
bytes
Huỷ hệ thống máy ảo
Sử dụng lệnh kathara wipe
để huỷ các máy ảo hiện có
3.Bài tập 6
💡 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 như hình bên dưới :
Bằng cách sử dụng các lệnh sau :
mkdir ~/Desktop/BaiTap6
cd ~/Desktop/BaiTap6
mkdir pc1 pc2 pc3 router1 router2
touch pc1.startup pc2.startup pc3.startup router1.startup router2.startup
Thiết lập các file
Sử dụng gedit
để cấu hình các file lần lượt như sau :
:::: tabs
::: tab lab.conf
pc1[0]=A
pc2[0]=C
pc3[0]=C
router1[0]=A
router1[1]=B
router2[0]=C
router2[1]=B
:::
::: tab pc1.startup
ifconfig eth0 195.11.14.5/24 up
route add default gw 192.11.14.1
:::
::: tab pc2.startup
ifconfig eth0 200.1.1.7/24 up
route add default gw 200.1.1.1
:::
::: tab pc3.startup
ifconfig eth0 200.1.1.3/24 up
route add default gw 200.1.1.1
:::
::: tab router1.startup
ifconfig eth0 195.11.14.1/24 up
ifconfig eth1 100.0.0.9/30 up
route add -net 200.1.1.0/24 gw 100.0.0.10
:::
::: tab router2.startup
ifconfig eth0 200.1.1.1/24 up
ifconfig eth1 100.0.0.10/30 up
route add -net 195.11.14.0/24 gw 100.0.0.9
::: ::::
Khởi tạo hệ thống máy ảo
Sử dụng lệnh sau để khởi động các máy ảo :
kathara lstart pc1 pc2 pc3 router1 router2
Sau đó sử dụng lệnh route
trên từng thiết bị để kiểm tra vạch đường đã đúng như mô hình như chưa :
Phân tích các gói tin gửi đi
Sử dụng lệnh arp
trên thiết bị pc2
, pc3
, router2
Dùng lần lượt các lệnh tcpdump
các thiết bị pc2
, router1
, router2
tcpdump -s 1536 -w <path>/*.pcap
💡 GIẢI THÍCH
-s
: xác định kích thước của gói tin theo byte
1536
: 1536 byte theo tuỳ chọn -s
-w
: xuất file ra đường dẫn
⚠️ LƯU Ý
Nếu bạn muốn xuất ra file mà mà máy thật có thể truy cập được, hãy để <path>
là /share/*
VD: tcpdump -s 1536 -w /shared/BT6_pc2_A.pcap
Sau đó sử dụng lệnh ping 200.1.1.7
từ pc3
tới pc2
💡 MẸO
Để tắt nóng lệnh trên Terminal
, sử dụng tổ hợp phím CTRL+C
Sau đó sử dụng lệnh arp
trên các thiết bị pc2
, pc3
, router2
💡 NHẬN XÉT
Ở
pc3
có thông tin địa chỉ mạngpc2
sau khi sử dụng lệnhping
và ngược lạiỞ
router2
không nhận gì cả
pcap
bằng WireShark
Phân tích file Vào trong folder shared
sẽ thấy các file đã tcpdump
từ thiết bị máy ảo
Mở file BT6_router2_A.pcap
bằng WireShark
và chọn khung vật lý số 1
:
💡 NHẬN XÉT
Toàn bộ khung vật lý số
1
có42 bytes
Chọn khung
Address Resolution Protocol
:Trường
Opcode
có giá trị là0x0001
thể hiện thông tinrequest
, và còn có giá trị là0x0002
thể hiện thông tinreply
Địa chỉ
IP
của máy gửi dữ liệu là200.1.1.3
và địa chỉMAC
làfe:ae:86:7b:21:82
Địa chỉ
IP
của máy gửi dữ liệu là200.1.1.7
và không có địa chỉMAC
Chọn khung
Ethenet II
:Địa chỉ
MAC
của máy gửi dữ liệu làfe:ae:86:7b:21:82
, đây là địa chỉ củapc3
Địa chỉ
MAC
của máy nhận dữ liệu làff:ff:ff:ff:ff:ff
, địa chỉMAC
không ở thiết bị nàoTrường
Type
có giá trị là0x8606
, thể hiện là giao thức làARP
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 7
💡 MÔ HÌNH
Cho mô hình như sau :
Tạo thư mục và các file
Đây là một hệ thống phức tạp, nên ta sẽ làm theo các bước như sau :
Xác định 6
thiết bị có trong hệ thống : pc1
, pc2
, pc3
, router1
, router2
, router3
mkdir ~/Desktop/BaiTap7
cd ~/Desktop/BaiTap7
mkdir pc1 pc2 pc3 router1 router2 router3
touch lab.conf pc1.startup pc2.startup pc3.startup router1.startup router2.startup router3.startup
Thiết lập các file
Bước 1: Xác định cấu hình file
lab.conf
pc1[0]=A pc2[0]=C pc3[0]=F router1[0]=A router1[1]=B router1[2]=D router2[0]=B router2[1]=C router2[2]=E router3[0]=D router3[1]=E router3[2]=F
🤔 MẸO
Xác định các
pc
kết nối với mạng nào (bắt đầu từ0
)Trong bài này, mỗi
router
đều có 3 nhánh mạng nên sẽ từ0
,1
,2
...⚠️ Thứ tự nhánh
router
dựa vàoeth0
,eth1
,eth2
chứ không phải làA,B,C...
Bước 2: Xác định mạng của các thiết bị
pc
:::: tabs
::: tab pc1.startup
ifconfig eth0 192.168.0.40/27 up route add default gw 192.168.0.33
:::
::: tab pc2.startup
ifconfig eth0 192.168.0.100/27 up route add default gw 192.168.0.97
:::
::: tab pc3.startup
ifconfig eth0 192.168.0.200/27 up route add default gw 192.168.0.193
::: ::::
💡 MẸO
Các
pc
được kết nối qua đúng 1 nhánh mạngeth0
nên chỉ có 1 dòng cấu hình mạngifconfig
Mỗi
pc
chỉ kết nối qua mộtrouter
nên sử dụngadd default gw
- Bước 3: Xác định mạng của các thiệt bị
router
:::: tabs
::: tab router1.startup
ifconfig eth0 192.168.0.33/27 up ifconfig eth1 192.168.0.65/27 up ifconfig eth2 192.168.0.129/27 up route add -net 192.168.0.96/27 gw 192.168.0.66 route add -net 192.168.0.160/27 gw 192.168.0.130 route add -net 192.168.0.160/27 gw 192.168.0.66 route add -net 192.168.0.192/27 gw 192.168.0.130
:::
::: tab router2.startup
ifconfig eth0 192.168.0.66/27 up ifconfig eth1 192.168.0.97/27 up ifconfig eth2 192.168.0.161/27 up route add -net 192.168.0.32/27 gw 192.168.0.65 route add -net 192.168.0.128/27 gw 192.168.0.162 route add -net 192.160.0.128/27 gw 192.168.0.65 route add -net 192.168.0.192/27 gw 192.168.0.162
:::
::: tab router3.startup
ifconfig eth0 192.168.0.130/27 up ifconfig eth1 192.168.0.162/27 up ifconfig eth2 192.168.0.193/27 up route add -net 192.168.0.32/27 gw 192.168.0.129 route add -net 192.168.0.64/27 gw 192.168.0.129 route add -net 192.168.0.64/27 gw 192.168.0.161 route add -net 192.168.0.96/27 gw 192.168.0.161
::: ::::
🤔 MẸO
Như trong mô hình trên thì mỗi thiết bị có tới 3 nhánh nên ta cấu hình
3
lầnifconfig
Từ
router1
tớirouter2
có tới 2 nhánh đi nên ta cấu hình2
lầnroute add -net
, vàrouter1
tớirouter3
cũng có 2 hướng nên là tổng4
lầnroute add -net
Cũng như tính chất đó nên mỗi
router
có3
nhánh mạng cấu hình bằngifconfig
và 4 vạch đường đi qua cácrouter
khác
Khởi tạo hệ thống máy ảo
Sử dụng lệnh kathara
sau để khởi động hệ thống máy ảo
kathara lstart pc1 pc2 pc3 router1 router2 router3
⚠️ LƯU Ý
Kết thúc mỗi thiết bị đều hiện lên End Startup Command Log
mà trước đó không hề có lỗi gì thì cấu hình đúng
Sau đó sử dụng lệnh route
để kiểm tra vạch đường đi của mỗi thiết bị
Huỷ hệ thống máy ảo
Sử dụng lệnh kathara wipe
để huỷ hệ thống máy ảo
💡 MẸO
Gõ y
để đồng ý huỷ hệ thống máy ảo