Thực hành buổi 2

📝 ĐỀ BÀI

1.Chuẩn bị

Giới thiệu WireShark

WireSharkopen in new window 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

Vai trò của WireShark

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>/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

Truy cập file .pcap trên WireShark

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 :

  1. Gói tin sử dụng giao thức ICMP hoạt động trên tầng mạng của mô hình OSI

  2. Nội dung thông điệp của giao thức này là

  • Chọn Internet Protocol Version 4 trong khung :
  1. Địa chỉ IP của máy gửi đi là 10.0.2.101, địa chỉ này là của pc3

  2. Địa chỉ IP máy nhận là 10.0.1.101, địa chỉ này là của pc2

  3. Định danh gói tin là 0x542b

  4. Độ dài Header của thông điệp là 20 bytes

  5. Trường Total Length có độ dài là 84 bytes. Đây là độ dài của datagram.

  • Chọn Ethernet II trong khung :
  1. Địa chỉ MAC của máy gửi dữ liệu là ba:96:5f:5b:b5:fd, đây là địa chỉ của pc2

  2. Đị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ủa router1

  3. Trường Type là 0x0800, cho biết sử dụng giao thức IPv4

  4. 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>/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ạng pc2 sau khi sử dụng lệnh ping và ngược lại

  • router2 không nhận gì cả

Phân tích file pcap bằng WireShark

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ố 142 bytes

  • Chọn khung Address Resolution Protocol :

    1. Trường Opcode có giá trị là 0x0001 thể hiện thông tin request, và còn có giá trị là 0x0002 thể hiện thông tin reply

    2. Địa chỉ IP của máy gửi dữ liệu là 200.1.1.3 và địa chỉ MACfe:ae:86:7b:21:82

    3. Đị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 :

    1. Địa chỉ MAC của máy gửi dữ liệu là fe:ae:86:7b:21:82, đây là địa chỉ của pc3

    2. Đị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ào

    3. Trườ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ào eth0, 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ạng eth0 nên chỉ có 1 dòng cấu hình mạng ifconfig

    • Mỗi pc chỉ kết nối qua một router nên sử dụng add 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ần ifconfig

    • Từ router1 tới router2 có tới 2 nhánh đi nên ta cấu hình 2 lần route add -net, và router1 tới router3 cũng có 2 hướng nên là tổng 4 lần route add -net

    • Cũng như tính chất đó nên mỗi router3 nhánh mạng cấu hình bằng ifconfig và 4 vạch đường đi qua các router 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

y để đồng ý huỷ hệ thống máy ảo

Cập nhật lúc :
Tác giả: Zenfection, Zenfection