Mạng Căn Bản – Bài 1: Mạng Internet là gì?

Chào mừng các bạn đã đến với bài đầu tiên trong series Mạng Căn Bản, và cũng là giai đoạn 1 của lộ trình 4 giai đoạn tự học Basic Linux Pentesting. Mục đích chính của series này là cố gắng cô đọng lại những gì cần thiết nhất và trình bày một cách dễ hiểu nhất những kiến thức về hệ thống mạng nhằm cung cấp cho các bạn nền tảng căn bản đủ để các bạn có thể áp dụng ở giai đoạn 4 của lộ trình.

Ngoài lề một tí, lộ trình của chúng ta có 4 giai đoạn, thì 3 giai đoạn đầu chúng ta sẽ học về:

  • Giai đoạn 1: Mạng căn bản
  • Giai đoạn 2: Linux căn bản
  • Giai đoạn 3: Cách sử dụng công cụ Kali Linux căn bản

3 giai đoạn trên sẽ là bước chuẩn bị quan trọng cho giai đoạn 4, Thực hành Linux Pentest căn bản trên nền tảng của TryHackMe. Thế nên mình đề nghị các bạn ghi chú cẩn thận những kiến thức cần thiết để áp dụng cho giai đoạn 4. Các bạn có thể sử dụng phần mềm Evernote để ghi chú. Với tài khoản miễn phí, bạn có thể đăng nhập được tối đa trên 2 thiết bị. Evernote cũng không giới hạn số lượng ghi chú, chỉ giới hạn dung lượng tải lên là 60MB/tháng, quá đủ nếu bạn chỉ dùng để ghi chú thông thường.

Trước khi vào bài chúng ta cũng cần làm rõ những nội dung mà series này không bao gồm:

  • Series này sẽ không dạy các kiến thức để thi CCNA hoặc MSCA cũng như các kiến thức về quản trị mạng ví dụ như cách thiết lập DHCP, DNS, Routing protocols, vâng vâng.
  • Series Mạng Căn Bản sẽ không bao gồm phần lab xây dựng mạng mà chỉ đơn thuần lý thuyết và một vài thực hành nhỏ.
  • Series Mạng Căn Bản sẽ chỉ có kiến thức căn bản và sẽ không đi quá sâu vào bất kỳ một chủ đề nào. Mục đích chính là để tránh series này bị kéo dài một cách không cần thiết. Tuy nhiên, với những bạn muốn nghiên cứu thêm, mình sẽ đính kèm tài liệu tự nghiên cứu trong bài nhé.

Chúng ta sẽ bắt đầu vào bài.

Các ý quan trọng sẽ được mình bôi đen như thế này nhé

1 – Mạng Internet là gì?

1a – Lý thuyết

Chúng ta sử dụng mạng Internet gần như hàng ngày, nhưng đã bao giờ bạn tự hỏi mạng Internet nó trông như thế nào chưa?

Giải thích một cách căn bản nhất, mạng Internet là một hệ thống các kết nối dựa trên giao thức (protocol) TCP/IP giữa các máy tính với nhau với quy mô toàn cầu.

Mình sẽ cho các bạn một ví dụ đơn giản như sau:

Mỗi sáng bạn đi từ nhà đến công ty làm việc, tối từ công ty ra, bạn dự định đi đến nhà người yêu, sau đó cả hai sẽ đi ăn uống ở nhà hàng A, và đi mua sắm ở cửa hàng B.

Vậy để đi được từ nhà bạn đến công ty, từ công ty đến nhà người yêu, từ nhà người yêu đến nhà hàng A, và sau đó từ nhà hàng A đến cửa hàng B, bạn cần có một lộ trình nối kết từ điểm bắt đầu đi và điểm đích với nhau.

Lộ trình đi từ điểm đầu đến điểm cuối trong mạng Internet chính là các kết nối giữa các máy tính.

Vậy giao thức TCP/IP đóng vai trò gì?

Trong một thành phố rộng lớn ví dụ như Sài Gòn, để đi được từ nhà bạn đến một điểm nào đó, bạn cần phải biết được địa chỉ của nơi đó. Ví dụ nhà bạn ở 123 Cao Thắng nối dài, quận 10, bạn cần đi đến công ty ở 456 Nam Kỳ Khởi Nghĩa, quận 1, khi biết được địa chỉ cần đi và bạn biết rằng cả thành phố Sài Gòn chỉ có duy nhất 1 địa chỉ 456 Nam Kỳ Khởi Nghĩa, quận 1 thôi, bạn sẽ lập được lộ trình để đi từ nhà bạn đến điểm cần đến.

Trong ví dụ trên TCP/IP chính là cơ quan có thẩm quyền để cấp địa chỉ cho nhà bạn và điểm đích bạn muốn đến. Trong mạng Internet, TCP/IP có nhiệm vụ cấp địa chỉ IP cho thiết bị tham gia vào mạng Internet.

Địa chỉ IP có tính chất giống như địa chỉ nhà ở ngoài đời thật, và địa chỉ này là duy nhất trong toàn mạng cũng giống như một địa chỉ nhà bạn là duy nhất trong toàn thành phố nơi bạn sống.

Bạn có thể kiểm tra địa chỉ IP của bạn bằng lệnh sau:

Trên Linux terminal dùng lệnh sau:

ifconfig 

Trên Windows Command Prompt (Vì mình đang dùng máy Windows, nên mình sẽ trình bày phần lệnh tiếp theo trên Windows luôn nhé):

ipconfig
Wireless LAN adapter Wi-Fi:

   Connection-specific DNS Suffix  . : cg.shawcable.net
   IPv6 Address. . . . . . . . . . . : 2604:3d09:2a82:1c00::38db
   IPv6 Address. . . . . . . . . . . : 2604:3d09:2a82:1c00:ccdb:5989:3631:76e5
   Temporary IPv6 Address. . . . . . : 2604:3d09:2a82:1c00:f461:ba29:19b1:3b5
   Link-local IPv6 Address . . . . . : fe80::ccdb:5989:3631:76e5%10
   IPv4 Address. . . . . . . . . . . : 10.0.0.205
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : fe80::be9b:68ff:fe08:cacb%10
                                       10.0.0.1

Địa chỉ IPv4 của máy Windows của mình là 10.0.0.205 và địa chỉ này là duy nhất trong toàn mạng Internet của nhà mình.

Để kiểm tra xem máy của mình có đúng là địa chỉ duy nhất trong toàn mạng hay không, mình sẽ thực hiện ping broadcast IP và dùng lệnh arp -a để kiểm tra

ping 10.0.0.255
arp -a
Interface: 10.0.0.205 --- 0xa
  Internet Address      Physical Address      Type
  10.0.0.1              bc-9b-68-08-ca-cb     dynamic
  10.0.0.7              7c-c3-a1-ab-0b-8b     dynamic
  10.0.0.60             ec-1f-72-fb-0b-a9     dynamic
  10.0.0.114            e0-33-8e-8f-f5-7b     dynamic
  10.0.0.123            ec-b5-fa-07-ab-fa     dynamic
  10.0.0.226            1a-45-e2-80-e9-8c     dynamic
  10.0.0.255            ff-ff-ff-ff-ff-ff     static
  224.0.0.2             01-00-5e-00-00-02     static
  224.0.0.22            01-00-5e-00-00-16     static
  224.0.0.251           01-00-5e-00-00-fb     static
  224.0.0.252           01-00-5e-00-00-fc     static
  239.255.255.250       01-00-5e-7f-ff-fa     static
  255.255.255.255       ff-ff-ff-ff-ff-ff     static

Việc mình vừa làm đó là mình sẽ gửi tín hiệu từ máy mình đến toàn thể các máy trong mạng, sau đó dùng lệnh arp -a để liệt kê toàn bộ địa chỉ IP của tất cả thiết bị hiện đang kết nối trong mạng nhà mình. Và như các bạn thấy, địa chỉ 10.0.0.205 của máy mình là địa chỉ duy nhất trong toàn mạng.

1B – Thực hành

Để thực hành theo mình, các bạn có thể sử dụng các lệnh sau:

B1 -Tìm địa chỉ IP của máy và địa chỉ IP broadcast

ipconfig 

Tìm interface Wireless LAN adapter Wi-Fi (nếu bạn đang dùng Wifi) hoặc Ethernet adapter Ethernet (nếu bạn đang dùng dây cáp mạng) và kiểm tra 2 giá trị:

IPv4 address và Subnet Mask

Giả dụ như địa chỉ IPv4 của bạn là 192.168.0.3

Để tìm địa chỉ broadcast của bạn, bạn phải phụ thuộc vào giá trị của Subnet Mask. Nếu Subnet Mask của bạn là:

  • 255.255.255.0 địa chỉ mạng của bạn là 192.168.0.255
  • 255.255.0.0 địa chỉ mạng của bạn là 192.168.255.255
  • 255.0.0.0 địa chỉ mạng của bạn là 192.255.255.255

Mình sẽ đi sâu hơn về địa chỉ IP và Subnet mask ở bài sau để giải thích rõ hơn về những giá trị bên trên. Ở thời điểm hiện tại, các bạn cứ làm theo thôi.

B2 – Gửi tín hiệu Ping đến toàn bộ các máy trong mạng bằng địa chỉ broadcast vừa tìm được

Giả dụ như địa chỉ IP của mình là 192.168.0.3

Subnet mask là 255.255.255.0

Chúng ta sẽ ping bằng lệnh sau:

ping 192.168.0.255 

Lưu ý: Trên một số thiết bị router wifi hiện đại, để nâng cao tính bảo mật và để tránh hackers tìm ra các máy trong mạng, router sẽ tự động block các tín hiệu gửi đến địa chỉ broadcast. Nếu bạn thấy kết quả ‘Request timed out.’ nghĩa là các tín hiệu gửi đến broadcast IP của bạn đã bị khóa. Lúc này nếu bạn dùng lệnh arp -a, thì có thể sẽ không thể liệt kê được tất cả các máy trong mạng. Lúc này có 2 cách các bạn có thể vượt qua:

  1. Đăng nhập vào địa chỉ default gateway của router wifi và kiểm tra Connected devices list. (Vì cái này mỗi dòng router cách thực hiện sẽ khác nhau, nên mình không đi chi tiết nhé)

  2. Dùng nmap trên Kali Linux hoặc Zenmap trên Windows với lệnh sau:

nmap -sn -T4 -vv IP-A/số-B 

Giả sử IP của mình là 192.168.1.3

Giá trị của số A phụ thuộc vào giá trị của Subnet mask. Nếu:

  • 255.255.255.0 => số-A là 24 => IP-A/số-B = 192.168.1.0/24

  • 255.255.0.0 => số-A là 16 => IP-A/số-B = 192.168.0.0/16

  • 255.0.0.0 => số-A là 8 => IP-A/số-B = 192.0.0.0/8

Bên dưới là ví dụ khi mình chạy zenmap, các máy đang online được liệt kê ở góc bên trái.

B3 – Liệt kê toàn bộ thiết bị đang kết nối trong mạng bằng lệnh arp -a (nếu bạn ping thành công)

arp -a

2 – Sơ đồ giản lược của mạng Internet

Mình đã vẽ cấu trúc của mạng Internet một cách sơ lược nhất như sau

Mình biết mạng Internet thật bên ngoài sẽ phức tạp hơn sơ đồ mình vẽ rất rất nhiều nhưng để tiện cho các bạn chưa biết gì theo dõi, mình đã cố tình vẽ thật đơn giản như trên, nên mong các bạn đã có kinh nghiệm về networking thông cảm nhé.

Quay trở lại bài, chúng ta sẽ có sơ đồ căn bản nhất của mạng Internet bên trên bao gồm các tổ hợp của các thiết bị căn bản nhất nhưng quan trọng nhất là routers, switches và PC/laptop như bên trên.

Như vậy mạng Internet bản chất chính là việc kết nối các thiết bị hạ tầng mạng với nhau bằng dây dẫn theo một cấu trúc và quy tắc nhất định.

Chúng ta sẽ đi sâu vào các thành phần của sơ đồ trên.

  • Router: Router là một thiết bị mạng có trách nhiệm chia mạng và truyền dữ liệu giữa các mạng với nhau.

Router icon

  • Switch: Switch là một thiết bị mạng được dùng để kết nối các thiết bị trong cùng 1 mạng lại với nhau. Nói cách khác, để các thiết bị trong cùng 1 mạng giao tiếp được với nhau, chúng cần phải được kết nối vào cùng 1 switch. Ngoài ra, switch còn có thể được dùng để chia mạng vlan, vì phần này nằm ngoài giới hạn của series, nên mình sẽ không đề cập đến. Nhưng bạn có thể tìm hiểu thêm về vlan tại đây.

Switch icon

Bản chất của router và switch là các máy tính được thiết kế một cách đặt biệt để chỉ thực hiện nhiệm vụ như chia mạng, truyền dữ liệu, và liên kết các thiết bị với nhau.

Để hiểu thêm về cách thức hoạt động của router và switch các bạn hãy nhìn vào hình sau:

Theo sơ đồ bên trên ta có 5 mạng tổng cộng như sau:

  • Mạng 10.2.0.0/16 (màu xanh lá): 2 routers nối với nhau
  • Mạng 10.1.0.0/16 (màu nâu): 2 routers nối với nhau
  • Mạng 11.0.0.0/16 (màu đen): 2 routers nối với nhau
  • 2 mạng 192.168.0.0/24 (màu xanh và màu đỏ): Router nối với switch

Chúng ta sẽ có quy tắc như sau: Một router kết nối với một router hoặc một router kết nối với một switch sẽ tạo thành một mạng.

Khi nhìn lên hình trên, sẽ có 3 câu hỏi được đặt ra.

1 – tại sao mạng màu xanh và mạng màu đỏ lại có IP giống nhau? Để trả lời câu hỏi này, chúng ta sẽ phải xem lại định nghĩa mà chúng ta đã đề cập ở bên trên, đó là địa chỉ IP là duy nhất trong toàn mạng. Vì mạng màu xanh và mạng màu đỏ là 2 mạng khác nhau, nên 2 mạng này hoàn toàn có thể có IP giống nhau.

Ví dụ như IP của máy tính nhà bạn là 192.168.0.3, Iphone của thằng bạn hàng xóm của bạn cũng có thể có IP 192.168.0.3. Vì mạng nhà bạn và mạng nhà thằng hàng xóm là 2 mạng khác nhau. Nhưng ví dụ như thằng hàng xóm qua nhà bạn chơi và kết nối với Internet nhà bạn, thì lúc này bạn và nó ở trong cùng 1 mạng, thì bắt buộc IP của các bạn phải khác nhau.

2 – Vậy mạng màu xanh lá và mạng màu nâu là 2 mạng khác nhau, vậy có thể có cùng IP không? Câu trả lời ngắn gọn trong trường hợp này sẽ là không để 2 routers có thể kết nối và truyền thông tin qua lại được với nhau, chúng ta phải thiết lập routing protocols trên cả 2 routers đó. Nhiệm vụ của routing protocols là giúp gói tin xác định được con đường phải đi đến điểm đích cần đến; chúng ta sẽ học thêm về routing protocols ở những bài tiếp theo. Các routers được kết nối với nhau bằng dây cáp. Mỗi sợi cáp có 2 đầu, và mỗi đầu sẽ được cắm vào 1 port trên mỗi router. Nếu như mạng xanh lá và mạng màu nâu có cùng IP mạng, sẽ dẫn đến việc router ở giữa (màu hồng) sẽ có 2 ports có cùng IP mạng, dẫn đến việc các gói tin có thể được đi nhầm từ mạng xanh lá sang mạng nâu, nếu nặng sẽ dẫn đến sập mạng. Tìm hiểu thêm tại đây

3 – Vậy tại sao mạng xanh và đỏ có IP mạng giống nhau lại không gây ra lỗi sập mạng? Đó là nhờ vào giao thức NAT chuyển đổi giữa public IP và private IP nhằm đảm bảo trên 1 router sẽ không bao giờ có 2 ports có cùng IP mạng, chúng ta sẽ học về giao thức này ở những bài sau. Nhưng bạn có thể tìm hiểu trước tại đây.

3 – Ai là người sở hữu và quản lý mạng Internet?

Mặc dù Internet được chính phủ và quân đội Mỹ tạo ra, nhưng họ không sở hữu Internet. Thực tế, không một cá nhân, tổ chức hay chính phủ nào dám khẳng định họ sở hữu toàn bộ Internet cả. Tuy nhiên, những giao thức quan trọng, ví dụ TCP/IP, góp phần tạo nên Internet được quản lý bởi một vài tổ chức có nhiệm vụ duy trì, cải thiện và nâng cấp giao thức khi nó dần không còn đủ khả năng đáp ứng được sự tăng trưởng nhanh chóng của cộng đồng người dùng Internet nữa. Ví dụ IPv6 đang dần thay thế IPv4.

Những tổ chức đó là:

  • The Internet Society: Một tổ chức phi lợi nhuận, có nhiệm vụ phát triển những quy chuẩn, chính sách cho Internet và giáo dục trực tuyến.
  • The Internet Engineering Task Force (IETF): Một tổ chức quốc tế với với nhiều nhóm khác nhau. Mỗi nhóm đảm nhiệm một nhiệm vụ nhất định ví dụ Internet Security. Mục tiêu chính là để đảm bảo sự ổn định và duy trì cấu trúc của Internet.
  • The Internet Architecture Board (IAB): Nhiệm vụ chính của tổ chức nào là giám sát việc thiết kế các giao thức hoặc tiêu chuẩn mới trên Internet.
  • The Internet Corporation for Assigned Names and Numbers (ICANN): Một công ty tư nhân phi lợi nhuận, ICANN quản lý Hệ thống tên miền (DNS) của Internet. ICANN chịu trách nhiệm đảm bảo rằng mọi tên miền đều liên kết đến đúng địa chỉ IP *.

* Một ví dụ về dịch vụ DNS đó là khi bạn truy cập Facebook bằng trình duyệt web, sau khi bạn gõ facebook.com, trình duyệt web sẽ tự động chuyển tên miền này thành địa chỉ IP để đưa bạn đến trang đăng nhập của Facebook. Lí do chúng ta cần có DNS là vì lúc đầu khi Internet được lập nên, việc truy cập đến các hệ thống chủ yếu bằng việc nhập địa chỉ IP của hệ thống đó. Sau khi Internet bùng nổ, người ta phát hiện ra rằng, việc nhớ những dãy số như 66.33.15.79 hay 178.12.0.5 là quá khó và dễ lẫn lộn. Nên họ đã tạo ra dịch vụ DNS, gán địa chỉ IP với một chuỗi ký tự đọc và hiểu được ví dụ như Facebook.com, để giúp người dùng sử dụng Internet dễ dàng hơn.

Vậy là chúng ta đã kết thúc bài đầu tiên trong series Mạng Căn Bản. Mình biết trong bài sẽ có nhiều thiếu xót, cũng như nhiều kiến thức chuyên môn hay bị bỏ qua, nhưng như mình đã chia sẻ từ đầu, series này được tạo ra nhằm cung cấp kiến thức nền căn bản cho những bạn chưa biết gì. Đây là một bước chuẩn bị cho giai đoạn 4 của lộ trình Linux Basic Pentesting nên rất mong các bạn chuyên sâu về networking sẽ đóng góp để bài ngày càng được hoàn thiện hơn cũng như thông cảm cho những thiếu xót của mình nhé.

Xin cám ơn,

Vincent Nguyễn

Source: https://computer.howstuffworks.com/internet/basics/who-owns-internet2.htm#:~:text=The%20Internet%20Corporation%20for%20Assigned,to%20the%20correct%20IP%20address.

Advertisement

Share this:

Like this:

Like

Loading…