34
ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC CNTT & TRUYỀN THÔNG VIỆT - HÀN ĐỒ ÁN CƠ SỞ 4 ĐỀ TÀI: XÂY DỰNG CHƯƠNG TRÌNH IPCONFIG TRÊN WINDOW 10 Giáo viên hướng dẫn: TS. Hồ Văn Phi Sinh viên thực hiện: 1. Bùi Đình Nhã 2. Hoàng Văn Tú Lâm Lớp : 18IT3 Đà Nẵng, ngày 25 tháng 12 năm 2020

Đồ án Lập trình mạng - udn.vndaotao.vku.udn.vn/.../2020/12/1609313199-do-an-co-so-4.docx · Web viewMức 2: trình biên dịch kiểm soát các đoạn mã sao cho tuân

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Đồ án Lập trình mạng - udn.vndaotao.vku.udn.vn/.../2020/12/1609313199-do-an-co-so-4.docx · Web viewMức 2: trình biên dịch kiểm soát các đoạn mã sao cho tuân

ĐẠI HỌC ĐÀ NẴNG

TRƯỜNG ĐẠI HỌC CNTT & TRUYỀN THÔNG VIỆT - HÀN

Page 2: Đồ án Lập trình mạng - udn.vndaotao.vku.udn.vn/.../2020/12/1609313199-do-an-co-so-4.docx · Web viewMức 2: trình biên dịch kiểm soát các đoạn mã sao cho tuân

ĐỒ ÁN CƠ SỞ 4

ĐỀ TÀI: XÂY DỰNG CHƯƠNG TRÌNH IPCONFIG TRÊN WINDOW 10

Giáo viên hướng dẫn: TS. Hồ Văn PhiSinh viên thực hiện: 1. Bùi Đình Nhã

2. Hoàng Văn Tú LâmLớp : 18IT3

Đà Nẵng, ngày 25 tháng 12 năm 2020

Page 3: Đồ án Lập trình mạng - udn.vndaotao.vku.udn.vn/.../2020/12/1609313199-do-an-co-so-4.docx · Web viewMức 2: trình biên dịch kiểm soát các đoạn mã sao cho tuân

ĐẠI HỌC ĐÀ NẴNG

TRƯỜNG ĐẠI HỌC CNTT & TRUYỀN THÔNG VIỆT - HÀN

Page 4: Đồ án Lập trình mạng - udn.vndaotao.vku.udn.vn/.../2020/12/1609313199-do-an-co-so-4.docx · Web viewMức 2: trình biên dịch kiểm soát các đoạn mã sao cho tuân

ĐỒ ÁN CƠ SỞ 4

ĐỀ TÀI: XÂY DỰNG CHƯƠNG TRÌNH IPCONFIG TRÊN WINDOW 10

Giáo viên hướng dẫn: TS. Hồ Văn PhiSinh viên thực hiện: 1. Bùi Đình Nhã

2. Hoàng Văn Tú LâmLớp : 18IT3

Đà Nẵng, ngày 25 tháng 12 năm 2020

Page 5: Đồ án Lập trình mạng - udn.vndaotao.vku.udn.vn/.../2020/12/1609313199-do-an-co-so-4.docx · Web viewMức 2: trình biên dịch kiểm soát các đoạn mã sao cho tuân

NHẬN XÉT

Đà Nẵng, ngày 25 tháng 12 năm 2021. Xác nhận của GVHD

………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………..…………………………………………..…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………..

0

Page 6: Đồ án Lập trình mạng - udn.vndaotao.vku.udn.vn/.../2020/12/1609313199-do-an-co-so-4.docx · Web viewMức 2: trình biên dịch kiểm soát các đoạn mã sao cho tuân

MỤC LỤCDANH MỤC BẢNG, HÌNH ẢNH...................................................................2DANH MỤC TỪ VIẾT TẮT............................................................................3TỔNG QUAN VỀ ĐỀ TÀI...............................................................................4

1. Tên đề tài............................................................................................................4

2. Lý do thực hiện đề tài.........................................................................................4

3. Đối tượng, phương pháp và phạm vi nghiên cứu...............................................4

4. Phương pháp triển khai đề tài.............................................................................4

5. Kết cấu của báo cáo............................................................................................5

6. Dự kiến báo cáo hoàn thanh...............................................................................5

CHƯƠNG 1: CƠ SỞ LÍ THUYẾT...................................................................61. Tổng quan về lập trình mạng..............................................................................6

2. Ngôn ngữ lập trình...........................................................................................11

3. Khái quát lệnh Ipconfig....................................................................................13

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG.....................................151. Giới thiệu bài toán............................................................................................15

2. Mô hình............................................................................................................15

3. Giao thức..........................................................................................................15

4. Chương trình hoạt động....................................................................................18

5. Dữ liệu..............................................................................................................18

CHƯƠNG 3: KẾT QUẢ.................................................................................201. Kết quả đạt được..............................................................................................20

3. Vấn đề chưa thực hiện được.............................................................................21

4. Hướng phát triển trong tương lai......................................................................21

DANH MỤC TÀI LIỆU THAM KHẢO........................................................231. Tài liệu tiếng việt..............................................................................................23

2. Tài liệu tiếng anh..............................................................................................23

1

Page 7: Đồ án Lập trình mạng - udn.vndaotao.vku.udn.vn/.../2020/12/1609313199-do-an-co-so-4.docx · Web viewMức 2: trình biên dịch kiểm soát các đoạn mã sao cho tuân

DANH MỤC BẢNG, HÌNH ẢNH

1. Hình 1: Tổng quan về hệ thống máy tính lập trình mạng.2. Hình 2: Các giao thức phổ biến nhất của mô hình TCP/IP.3. Hình 3: Mô hình phân tầng của TCP/IP.4. Hình 4: Trình thông dịch của ngôn ngữ Java.5. Hình 5: Command Prompt hiển thị lệnh ipconfig/ all.6. Hình 6: Giao thức hướng kết nối(connection – oriented).7. Hình 7: Giao diện chinh của ứng dụng.8. Hình 8: Giao diện hiển thị thông tin một nút trong ứng dụng.

2

Page 8: Đồ án Lập trình mạng - udn.vndaotao.vku.udn.vn/.../2020/12/1609313199-do-an-co-so-4.docx · Web viewMức 2: trình biên dịch kiểm soát các đoạn mã sao cho tuân

DANH MỤC TỪ VIẾT TẮT

STT TỪ TÊN ĐẦY ĐỦ

1 IPCONFIG Internet protocol configuration

2 IP Internet protocol

3 TCP/IP Internet protocol suite

4 CMD Command Prompt

5 JVM Java virtual machine

6 JRE Java Runtime Environment

7 IDE Integrated Development Environment

8 MVC Model – view – controller

9 DHCP Dynamic Host Configuration Protocol

10 DNS Domain Name System

11 IPV4, 6 Internet Protocol version 4, 6

TỔNG QUAN VỀ ĐỀ TÀI

3

Page 9: Đồ án Lập trình mạng - udn.vndaotao.vku.udn.vn/.../2020/12/1609313199-do-an-co-so-4.docx · Web viewMức 2: trình biên dịch kiểm soát các đoạn mã sao cho tuân

1. Tên đề tài.Đề 16: Viết chương trình sử dụng ngôn ngữ java bằng giao thức TCP/IP

tương tự lệnh Ipconfig trong Windows 7.2. Lý do thực hiện đề tài.

Với sự phát triển mạnh mẽ của mạng internet và các mạng sử dụng giao thức IP cũng trở nên rất quan trọng trong cuộc sống xã hội. Ngay từ khi ra đời, giao thức IP đã thể hiện được ưu điểm nhằm đáp ứng được nhu cầu kết nối và truy xuất thông tin cho người sử dụng và điều này làm cho số lượng thiết bị sử dụng giao thức TCP/IP ngày căng tăng. Tuy nhiên, để đáp ứng được nhu cầu truy xuất thông tin máy tinh một cách nhanh chông, thuận lợi. Vì vậy em chọn đề tài này nhằm đáp ứng được các nhu cầu và để khắc phục được các nhu cầu ấy

Rất nhiều người dùng nghĩ rằng ipconfig là một câu lệnh của Command Prompt. Tuy nhiên, trên thực thế, nó lại là một tiện ích Windows cho phép bạn chạy từ Command Prompt.

Bên cạnh việc cung cấp cho bạn địa chỉ IP của máy tính hiện tại, nó còn cung cấp cho bạn địa chỉ IP của bộ định tuyến (router), địa chỉ MAC, cho phép bạn xóa bộ nhớ tạm (cache) của DNS, và thực hiện rất nhiều việc khác. Để cung cấp cho bạn những thông tin trên, nó hoạt động với nhiều tùy chọn dòng lệnh khác nhau.

Bạn có thể chạy lệnh ipconfig trên cửa sổ Command Prompt thông thường, nghĩa là để chạy nó, bạn không cần quyền quản trị.3. Đối tượng, phương pháp và phạm vi nghiên cứu.

Đối tượng nghiên cứu: Lệnh Ipconfig trong Window 7 được viết bằng ngôn ngữ Java với giao thức TCP/IP.

Phương pháp nghiên cứu: Lệnh Ipconfig được viết trên hệ điều hành Window 10.

Phạm vi nghiên cứu: ngôn ngữ Java, viết bằng công cụ Eclipse, trên Window 104. Phương pháp triển khai đề tài.

Tìm hiểu tài liệu liên quan.Tìm hiểu về lệnh Ipconfig.Định hướng chương trình cần làm.Xây dựng chương trình tương tự lệnh Ipconfig.

4

Page 10: Đồ án Lập trình mạng - udn.vndaotao.vku.udn.vn/.../2020/12/1609313199-do-an-co-so-4.docx · Web viewMức 2: trình biên dịch kiểm soát các đoạn mã sao cho tuân

Kết luận.5. Kết cấu của báo cáo.

Chương 1: Trình bày cơ sở lý thuyết về lệnh Ipconfig trong Window 7 .Chương 2: Phân tích và thiết ké hệ thống lệnh Ipconfig.Chương 3: Demo chương trình.

6. Dự kiến báo cáo hoàn thanh.Hoàn thành trước thời gian quy định báo cáo môn lập trình mạng.

CHƯƠNG 1: CƠ SỞ LÍ THUYẾT

1. Tổng quan về lập trình mạng.

5

Page 11: Đồ án Lập trình mạng - udn.vndaotao.vku.udn.vn/.../2020/12/1609313199-do-an-co-so-4.docx · Web viewMức 2: trình biên dịch kiểm soát các đoạn mã sao cho tuân

1.1. Lập trình mạng.Khái niệm: Lập trình mạng là các kĩ thuật lập trình nhằm xây dựng ứng

dụng, phần mềm khai thác hiệu quả tài nguyên máy tính.

Hình 1: Tổng quan về hệ thống máy tính lập trình mạng.Đối tượng lập trình mạng: Các thực thể phần mềm thực thi giao thức trong hệ thống mạng.

Được xây dựng dựa trên nền tảng hệ thống máy tính. Phần cứng và hệ điều hành, kiến trúc phân tầng mạng.

Hệ điều hành Windows:Cũng là hệ điều hành đa nhiệm, đa người sử dụng, với các tính năng hỗ trợ

mạng. Dễ sử dụng.Có các phiên bản cho cả máy trạm và máy chủ.Hỗ trợ rất nhiều loại dịch vụ.Tuy nhiên, có nhiều hạn chế: Bảo mật kém và ít ổn định so với UNIX và

LINUX. Kỹ thuật lập trình mạng: Lập trình thủ tục:

6

Page 12: Đồ án Lập trình mạng - udn.vndaotao.vku.udn.vn/.../2020/12/1609313199-do-an-co-so-4.docx · Web viewMức 2: trình biên dịch kiểm soát các đoạn mã sao cho tuân

Chia chương trình thành các chương trình con (chia để trị).Hàm, thủ tục.

Lập trình hướng đối tượng:Thiết kế chương trình theo hướng đối tượng.Tạo thư viện phục vụ liên thông mạng thành các gói, lớp đối tượng. Sử dụng một số các thư viện đối tượng sẵn có.

Lập trình đa tuyến:Tận dụng tối đa khả năng của bộ vi xử lý, thực hiện nhiều tác vụ đồng thời.

1.2. Mô hình TCP/IP.Mô hình TCP/IP có sự kết hợp giữa các giao thức riêng biệt. Nhiệm vụ của

mỗi giao thức là giúp máy tính có thể kết nối, truyền thông tin qua lại với nhau. TCP là giao thức điều khiển truyền nhận còn Internet Protocol (IP) là giao thức liên mạng. TCP/IP gồm 4 tầng đó là tầng ứng dụng, tầng mạng, tầng giao vận và tầng vật lý.

Hình 2: Các giao thức phổ biến nhất của mô hình TCP/IP.Tầng ứng dụng (Application): Nó cung cấp giao tiếp đến người dùng.

Cung cấp các ứng dụng cho phép người dùng trao đổi dữ liệu ứng dụng thông qua các dịch vụ mạng khác nhau (như duyệt web, chat, gửi email,...). Dữ liệu khi đến

7

Page 13: Đồ án Lập trình mạng - udn.vndaotao.vku.udn.vn/.../2020/12/1609313199-do-an-co-so-4.docx · Web viewMức 2: trình biên dịch kiểm soát các đoạn mã sao cho tuân

đây sẽ được định dạng theo kiểu byte nối byte, cùng với đó là các thông tin định tuyến giúp xác định đường đi đúng của một gói tin.

Một số giao thức trao đổi dữ liệu:

FTP(File Transfer Protocol): giao thức chạy trên nền TCP cho phép truyền các file ASCII hoặc nhị phân theo 2 chiều.

TFTP (Trival File Transfer Protocol): giao thức truyền file chạy trên nền UDP.

SMTP (Simple Mail Transfer Protocol): giao thức dùng để phân phối thư điện tử.

Telnet: cho phép truy nhập từ xa để cấu hình thiết bị.

SNMP (Simple Network Managerment Protocol): Là ứng dụng chạy trên nền UDP, cho phép quản lý và giám sát các thiết bị mạng từ xa.

Domain Name System (DNS): Là giao thức phân giải tên miền, được sử dụng trong hỗ trợ truy nhập Internet.

Tầng giao vận (Transport): Chịu trách nhiệm duy trì liên lạc đầu cuối trên toàn mạng.

Tầng này có 2 giao thức chính là TCP(Transmisson Control Protocol) và UDP (User Datagram Protocol).

TCP sẽ đảm bảo chất lượng truyền gửi gói tin, nhưng tốn khá nhiều thời gian để kiểm tra đầy đủ thông tin từ thứ tự dữ liệu cho đến việc kiểm soát vấn đề tắc nghẽn lưu lượng dữ liệu.

Trái với TCP, UDP có thấy tốc độ truyền tải nhanh hơn nhưng lại không đảm bảo được chất lượng dữ liệu được gửi đi(tức là nó không quan tâm dữ liệu có đến được đích hay không).

Tầng mạng (Internet): Xử lý quá trình truyền gói tin trên mạng.

Định tuyến: tìm tuyến đường qua các nút trung gian để gửi dữ liệu từ nguồn tới đích.

Chuyển tiếp: chuyển tiếp gói tin từ cổng nguồn tới cổng đích theo tuyến đường.

8

Page 14: Đồ án Lập trình mạng - udn.vndaotao.vku.udn.vn/.../2020/12/1609313199-do-an-co-so-4.docx · Web viewMức 2: trình biên dịch kiểm soát các đoạn mã sao cho tuân

Định địa chỉ: định danh cho các nút mạng.

Đóng gói dữ liệu: nhận dữ liệu từ giao thức ở trên, chèn thêm phần Header chứa thông tin của tầng mạng và tiếp tục được chuyển đến tầng tiếp theo.

Đảm bảo chất lượng dịch vụ(QoS): đảm bảo các thông số phù hợp của đường truyền theo từng dịch vụ.

Các giao thức của tầng này bao gồm: IP (Internet Protocol - giao thức được sử dụng rộng rãi trong mọi hệ thống mạng trên phạm vi toàn thế giới), ICMP (Internet Control Message Protocol), IGMP (Internet Group Message Protocol).

Tầng vật lý(Network Access): Nó là sự kết hợp của tầng Data Link và Physical trong mô hình OSI (Mô hình này các bạn tìm hiểu thêm nhé. Bản chất nó cũng tương tự như TCP/IP)

Là tầng thấp nhất trong mô hình TCP/IP.

Chịu trách nhiệm truyền dữ liệu giữa các thiết bị trong cùng một mạng. Tại đây, các gói dữ liệu được đóng vào khung (Frame) và được định tuyến đi đến đích được chỉ định ban đầu.

9

Page 15: Đồ án Lập trình mạng - udn.vndaotao.vku.udn.vn/.../2020/12/1609313199-do-an-co-so-4.docx · Web viewMức 2: trình biên dịch kiểm soát các đoạn mã sao cho tuân

Hình 3: Mô hình phân tầng của TCP/IP.

1.3. Khái quát giao thức.TCP/IP hoặc Transmission Control Protocol/Internet Protocol (Giao thức

điều khiển truyền vận/giao thức mạng) là một bộ các giao thức trao đổi thông tin được sử dụng để kết nối các thiết bị mạng trên Internet. TCP/IP có thể được sử dụng như là một giao thức trao đổi thông tin trong một mạng riêng (intranet hoặc extranet)

Toàn bộ bộ giao thức Internet - một tập hợp các quy tắc và thủ tục - thường được gọi là TCP/IP, mặc dù trong bộ cũng có các giao thức khác.

TCP/IP chỉ định cách dữ liệu được trao đổi qua Internet bằng cách cung cấp thông tin trao đổi đầu cuối nhằm mục đích xác định cách thức nó được chia thành các gói, được gắn địa chỉ, vận chuyển, định tuyến và nhận ở điểm đến. TCP/IP không yêu cầu quản lý nhiều và nó được thiết kế để khiến mạng đáng tin cậy hơn với khả năng phục hồi tự động.

Có hai giao thức mạng chính trong bộ giao thức mạng phục vụ các chức năng cụ thể. TCP xác định cách các ứng dụng tạo kênh giao tiếp trong mạng. Ngoài ra, nó cũng quản lý cách các tin được phân thành các gói nhỏ trước khi được chuyển qua Internet và được tập hợp lại theo đúng thứ tự tại địa chỉ đến.

2. Ngôn ngữ lập trình.2.1. Ngôn ngữ lập trình mạng Java. Chương trình được viết bằng ngôn ngữ Java.

Java là một trong những ngôn ngữ lập trình hướng đối tượng. Nó được sử dụng trong phát triển phần mềm, trang web, game hay ứng dụng trên các thiết bị di động.

Java được khởi đầu bởi James Gosling và bạn đồng nghiệp ở Sun MicroSystem năm 1991. Ban đầu Java được tạo ra nhằm mục đích viết phần mềm cho các sản phẩm gia dụng, và có tên là Oak.

Java được phát hành năm 1994, đến năm 2010 được Oracle mua lại từ Sun MicroSystem.

Java được tạo ra với tiêu chí “Viết (code) một lần, thực thi khắp nơi” (Write Once, Run Anywhere  – WORA). Chương trình phần mềm viết bằng Java có thể chạy trên mọi nền tảng (platform) khác nhau thông qua một môi trường thực thi với điều kiện có môi trường thực thi thích hợp hỗ trợ nền tảng đó.

10

Page 16: Đồ án Lập trình mạng - udn.vndaotao.vku.udn.vn/.../2020/12/1609313199-do-an-co-so-4.docx · Web viewMức 2: trình biên dịch kiểm soát các đoạn mã sao cho tuân

Ngôn ngữ thông dịch: Ngôn ngữ lập trình Java thuộc loại ngôn ngữ thông dịch. Chính xác hơn,

Java là loại ngôn ngữ vừa biên dịch vừa thông dịch. Cụ thể như sau: Khi viết mã, hệ thống tạo ra một tệp .java. Khi biên dịch mã nguồn của

chương trình sẽ được biên dịch ra mã byte code. Máy ảo Java (Java Virtual Machine) sẽ thông dịch mã byte code này thành machine code  (hay native code) khi nhận được yêu cầu chạy chương trình.

Hình 4: Trình thông dịch của ngôn ngữ Java.Ưu điểm : Phương pháp này giúp các đoạn mã viết bằng Java có thể chạy

được trên nhiều nền tảng khác nhau. Với điều kiện là JVM có hỗ trợ chạy trên nền tảng này.

Nhược điểm: Cũng như các ngôn ngữ thông dịch khác, quá trình chạy các đoạn mã Java là chậm hơn các ngôn ngữ biên dịch khác (tuy nhiên vẫn ở trong một mức chấp nhận được).Độc lập phần cứng và hệ điều hành:

Một chương trình viết bằng ngôn ngữ Java có thể chạy tốt ở nhiều môi trường khác nhau. Gọi là khả năng cross-platform. Khả năng độc lập phần cứng và hệ điều hành được thể hiện ở 2 cấp độ là cấp độ mã nguồn và cấp độ nhị phân.

Ở cấp độ mã nguồn: kiểu dữ liệu trong Java nhất quán cho tất cả các hệ điều hành và phần cứng khác nhau. Java có riêng 1 bộ thư viện để hỗ trợ vấn đề này. Chương trình viết bằng ngôn ngữ Java có thể biên dịch trên nhiều loại máy khác nhau mà không gặp lỗi.

11

Page 17: Đồ án Lập trình mạng - udn.vndaotao.vku.udn.vn/.../2020/12/1609313199-do-an-co-so-4.docx · Web viewMức 2: trình biên dịch kiểm soát các đoạn mã sao cho tuân

Ở cấp độ nhị phân: 1 mã biên dịch có thể chạy trên nhiều nền tảng khác nhau mà không cần dịch lại mã nguồn. Tuy nhiên cần có Java Virtual Machine để thông dịch đoạn mã này.

Cơ chế thu gom rác tự động:Khi tạo ra các đối tượng trong Java, JRE sẽ tự động cấp phát không gian bộ

nhớ cho các đối tượng ở trên heap.Java hỗ trợ điều đó, không phải hủy các vùng nhớ thủ công. Bộ thu dọn rác

của Java sẽ theo vết các tài nguyên đã được cấp. Khi không có tham chiếu nào đến vùng nhớ, bộ thu dọn rác sẽ tiến hành thu hồi vùng nhớ đã được cấp phát theo định kỳ.

Tính an toàn và bảo mật:Ngôn ngữ lập trình Java yêu cầu chặt chẽ về kiểu dữ liệu:

Dữ liệu phải được khai báo tường minh. Không sử dụng con trỏ và các phép toán với con trỏ. Java kiểm soát chặt chẽ việc truy xuất mảng, chuỗi, không cho phép sử dụng

các kỹ thuật tràn, do đó các truy xuất sẽ không vượt quá kích thước của mảng hoặc chuỗi.

Quá trình cấp phát và giải phóng bộ nhớ được thực hiện tự động. Cơ chế xử lý lỗi giúp việc xử lý và phục hồi lỗi dễ dàng hơn.

Java cung cấp 1 môi trường quản lý chương trình với nhiều mức khác nhau: Mức 1: chỉ có thể truy xuất dữ liệu cũng như phương phức thông qua giao

diện mà lớp cung cấp. Mức 2: trình biên dịch kiểm soát các đoạn mã sao cho tuân thủ các quy tắc

của ngôn ngữ lập trình Java trước khi thông dịch. Mức 3: trình thông dịch sẽ kiểm tra mã byte code xem các đoạn mã này có

đảm bảo được các quy định, quy tắc trước khi thực thi. Mức 4: Java kiểm soát việc nạp các lớp vào bộ nhớ để giám sát việc vi phạm

giới hạn truy xuất trước khi nạp vào hệ thống.2.2. Công cụ lập trình.

Eclipse.Eclipse là 1 công cụ hỗ trợ lập trình mã nguồn mở được phát triển bởi IBM.Eclipse như một môi trường phát triển Java tích hợp (IDE), với Eclipse

chúng ta có thể mở rộng hơn mã nguồn bằng cách chèn thêm các plugins cho project (PDE- Plug-in Development Environment). Mặc dù Eclipse được viết bằng

12

Page 18: Đồ án Lập trình mạng - udn.vndaotao.vku.udn.vn/.../2020/12/1609313199-do-an-co-so-4.docx · Web viewMức 2: trình biên dịch kiểm soát các đoạn mã sao cho tuân

ngôn ngữ lập trình Java, nhưng việc sử dụng nó không hạn chế chỉ cho ngôn ngữ Java. Ví dụ, Eclipse hỗ trợ sẵn hoặc có thể cài thêm các plugins để hỗ trợ cho các ngôn ngữ lập trình như C/C + + và COBOL. Ngoài ra, còn rất nhiều ngôn ngữ khác như PHP, Groovy, ...

Eclipse còn hỗ trợ cho lập trình viên code theo các mô hình phát triển như MVC, tạo thêm các lib hỗ trợ phát triển phần mềm.

Eclipse là công cụ lập trình đa năng, có tương lai, thích hợp cho việc rèn luyện kỹ năng và sử dụng làm công cụ phát triển ứng dụng, đặc biệt là ngôn ngữ Java. Nó hoàn toàn miễn phí, có thể tải tự do trên mạng. Eclipse xứng đáng là bộ công cụ “hội tụ” cho sinh viên và cho cả các đơn vị phát triển ứng dụng.3. Khái quát lệnh Ipconfig.

Ipconfig (Internet protocol configuration): là một chương trình ứng dụng bảng điều khiển của một số hệ điều hành máy tính hiển thị tất cả các giá trị cấu hình mạng TCP/IP hiện tại và làm mới cài đặt Giao thức cấu hình máy chủ động (DHCP) và Hệ thống Tên Miền (DNS). 

Là một tiện ích dòng lệnh mạng cơ bản nhưng phổ biến của Windows được sử dụng để hiển thị cấu hình mạng TCP / IP của máy tính. 

Công cụ này thường được sử dụng để khắc phục sự cố kết nối mạng.

13

Page 19: Đồ án Lập trình mạng - udn.vndaotao.vku.udn.vn/.../2020/12/1609313199-do-an-co-so-4.docx · Web viewMức 2: trình biên dịch kiểm soát các đoạn mã sao cho tuân

Hình 5: Command Prompt hiển thị lệnh ipconfig/ all.

14

Page 20: Đồ án Lập trình mạng - udn.vndaotao.vku.udn.vn/.../2020/12/1609313199-do-an-co-so-4.docx · Web viewMức 2: trình biên dịch kiểm soát các đoạn mã sao cho tuân

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG1. Giới thiệu bài toán.

Xây dựng chương trình Ipconfig trên hệ thống Windown 10 nhằm giải quyết được vấn đề truy xuất thông tin và dữ liệu máy tính. Nhằm đáp ứng việc truy xuất thông tin tương tự các lệnh trên Windown 10 như: Ping, Tracert, Nestrat, Shutdown, DIR, DEL, …

Với một giao diện tương tự CMD trong Window 10, chúng ta có thể viết những dòng lệnh hiển thị một cách nhanh chóng, đầy đủ, thuận lợi hơn cho việc truy xuất thông tin máy tính.

Từ những yêu cầu cần thiết đó, xây dựng 1 giao diện hiển thị thông tin máy từ những câu lệnh Ipconfig một cách đầy đủ và chinh xác nhất.2. Mô hình TCP/IP.

Xâu truy xuất

Dữ liệu Hình 6: Mô hình truy xuất gói tin.

Khi truy xuất một xâu dữ liệu cấu hình máy, xâu truy xuất sẽ chọn đường truyền đến địa chỉ cấu hình Ip máy tính và lấy dữ liệu máy tính và hiển thị lên màn hình giao diện.3. Giao thức.3.1. Giao thức TCP.

Hình 7: Giao thức hướng kết nối(connection – oriented).

15

Cấu hình mạng

Page 21: Đồ án Lập trình mạng - udn.vndaotao.vku.udn.vn/.../2020/12/1609313199-do-an-co-so-4.docx · Web viewMức 2: trình biên dịch kiểm soát các đoạn mã sao cho tuân

Ipconfig trên Windows là tiện ích nhỏ gọn nhưng đặc biệt hữu ích trong việc tìm địa chỉ IP hiện hành của hệ thống.

Hoạt động mà lệnh Ipconfig truy xuất IP hệ thống:Nếu bạn chạy lệnh ipconfig và không kèm theo bất kỳ tùy chọn dòng lệnh

nào, nó sẽ liệt kê tất cả các card giao tiếp mạng (network interface), bao gồm cả các card mạng ảo (virtual network adapter).

Đối với card mạng LAN và WiFi, nó sẽ cung cấp cho bạn địa chỉ IP cục bộ (local IP address). Nếu bạn đang kết nối Internet thông qua WiFi, bạn sẽ thấy giá trị IPv6 và subnet mask (mặt nạ mạng con) bên dưới card mạng này. Nếu một card mạng (LAN hoặc WiFi) không kết nối mạng, bạn sẽ không nhận được bất kỳ thông tin gì khi chạy lệnh ipconfig. Nó đơn giản chỉ cho bạn biết một trong hai card này hiện không được kết nối.

Đối với những card mạng ảo, cho dù có kết nối hay không, bạn đều sẽ thấy cả địa chỉ IPv6 và IPv4 cũng như giá trị subnet mask.Các thông tin truy xuất ipconfig:

Địa chỉ IP của bộ định tuyến (router).Địa chỉ MAC.Xóa bộ nhớ tạm (cache) của DNS…Ngoài ra, khi thay đổi dòng lệnh của ipconfig, bạn còn có thể nhận về các

kết quả cụ thể sau:Trường hợp 1: Không có bất cứ tùy chọn nào thêm vào dòng lệnh: Nhận

định trả về kết quả là toàn bộ các card giao tiếp mạng(bao gồm cả mạng ảo).Trường hợp 2: Sử dụng cho Card mạng LAN hoặc Wifi thì nó sẽ trả về kết

quả là địa chỉ IP cục bộ.Trường hợp 3: Sử dụng khi đang kết nối máy tính với Wifi: Kết quả là IPv6

và subnet mask bên dưới card mạng này. (Kết quả này vẫn đúng trong trường hợp bạn sử dụng card mạng ảo)

Trường hợp 4: Sử dụng khi không kết nối mạng: Thông báo cho người dùng biết card mạng đang không được kết nối.

Trường hợp 5: Có các tùy chọn thêm vào dòng lệnh: Kết quả sẽ được giải thích chi tiết bên dưới.Truy xuất theo từng nút lệnh ipconfig:

16

Page 22: Đồ án Lập trình mạng - udn.vndaotao.vku.udn.vn/.../2020/12/1609313199-do-an-co-so-4.docx · Web viewMức 2: trình biên dịch kiểm soát các đoạn mã sao cho tuân

Nút lệnh ipconfig/all: Câu lệnh này sẽ liệt kê thông tin IP của tất cả những card giao tiếp mạng trên hệ thống. Không giống câu lệnh ipconfig đơn thuần, câu lệnh này sẽ hiển thị thêm các thông tin như DHCP có bật không (DHCP Enabled), địa chỉ IP của máy chủ DHCP (DHCP Server), địa chỉ IPv4/IPv6 cục bộ (IPv4/IPv6 Address), thời điểm nhận địa chỉ IP (Lease Obtained), thời điểm địa chỉ IP hết hiệu lực (Lease Expires), và rất nhiều thông tin khác. Bạn cũng có thể sử dụng câu lệnh này để tìm địa chỉ vật lý (Physical Address), ví dụ: địa chỉ MAC, cho hệ thống của bạn.

Nút lệnh ipconfig/release: Câu lệnh này cho phép bạn giải phóng địa chỉ IP hiện hành. Khi bạn chạy câu lệnh này, địa chỉ IP hiện tại của hệ thống, bất kể nó là gì, đều sẽ được giải phóng để các thiết bị khác trên mạng có thể sử dụng.

Nút lệnh ipconfig/renew: Câu lệnh này thường được sử dụng ngay sau câu lệnh ipconfig /release. Sau khi câu lệnh ipconfig /release giải phóng địa chỉ IP, hệ thống sẽ cần một địa chỉ mới. Câu lệnh này sẽ giúp hệ thống nhận địa chỉ IP mới. Tùy chọn này, cùng với tùy chọn ipconfig /release ở trên là những gì bạn cần để sửa lỗi "IP address conflict".

Nút lệnh ipconfig/showclassid: Câu lệnh này cho phép bạn xem class ID của DHCP. Những class ID này thường được cấu hình cho các ứng dụng nhất định trên một mạng. Là người dùng thông thường, bạn không cần quan tâm đến chúng.

Nút lệnh ipconfig/setclassid: Tùy chọn câu lệnh này sẽ được sử dụng cùng với tùy chọn ipconfig /showclassid ở trên để thiết lập class ID cho DHCP.

Nút lệnh ipconfig/displaydns: Tùy chọn này cho phép bạn xem thông tin lưu trong bộ nhớ cache của DNS. Bộ nhớ cache của DNS là nơi lưu trữ các trang web công khai bạn đã truy cập. Nó là phiên bản cục bộ (local copy) của những trang web này và địa chỉ IP công khai (public IP address) của chúng. Về cơ bản, khi bạn gõ www.vnreview.vn vào trình duyệt, cache DNS của bạn đã biết chỗ để tìm trang web này bởi vì địa chỉ địa IP của nó đã được lưu trong bộ nhớ cache.

Nút lệnh ipconfig/flushdns: DNS không hoàn hảo. Thỉnh thoảng, nó cũng lưu trữ thông tin không chính xác. Điều này đôi khi làm bạn không thể truy cập các trang web. Tùy chọn câu lệnh này cho phép bạn xóa bộ nhớ cache DNS trên Windows và tạo lại bộ nhớ cache mới.

Nút lệnh ipconfig/registerdns: Tùy chọn này cho phép bạn cập nhật các thiết lập DNS. Nếu DNS không thể đăng ký một tên miền hoặc không thể kết nối với máy chủ DHCP, câu lệnh này có thể giúp xử lý vấn đề bằng cách đăng ký lại DNS.

17

Page 23: Đồ án Lập trình mạng - udn.vndaotao.vku.udn.vn/.../2020/12/1609313199-do-an-co-so-4.docx · Web viewMức 2: trình biên dịch kiểm soát các đoạn mã sao cho tuân

3.2. Ưu điểm của TCP/IP.TCP/IP không thuộc và chịu sự kiểm soát của hệ thống mạng nào, do đó bộ

giao thức mạng này có thể dễ dàng sửa đổi. Nó tương thích với tất cả các hệ điều hành, vì vậy có thể giao tiếp với các hệ thống khác. Ngoài ra, nó còn tương thích với tất các các loại phần cứng máy tính và mạng.

TCP/IP có khả năng mở rộng cao và như một giao thức có thể định tuyến, nó có thể xác định đường dẫn hiệu quả nhất thông qua mạng.4. Chương trình hoạt động.

Cách hoạt động truy xuất dữ liệu thông qua 2 cách:Dữ liệu được lấy trực tiếp từ cấu hình mạng máy tính.- Ban đầu câu lệnh được trỏ đến trực tiếp địa chỉ mạng của hệ điều hành.- Truy xuất thông tin mạng của máy tính ra giao diện hiển thị.Dữ liệu được truy xuất thông qua lệnh ipconfig trên hệ điều hành Windows.- Câu lệnh được trỏ đến file ipconfig của hệ điều hành.- Lấy dữ liệu của các lệnh ipconfig từ file ipconfig của hệ điều hành và

hiển thị ra giao diện.5. Dữ liệu.

TCP sẽ đảm bảo chất lượng truyền gửi gói tin, nhưng tốn khá nhiều thời gian để kiểm tra đầy đủ thông tin từ thứ tự dữ liệu cho đến việc kiểm soát vấn đề tắc nghẽn lưu lượng dữ liệu.

Giao thức TCP có thấy tốc độ truyền tải chậm do đảm bảo được chất lượng dữ liệu được gửi đi(nó quan tâm dữ liệu có đến được đích hay không).

Toàn bộ bộ giao thức truy xuất cấu hình mạng của máy là một tập hợp các quy tắc và thủ tục.

TCP/IP chỉ định cách dữ liệu được trao đổi bằng cách cung cấp thông tin trao đổi đầu cuối(cấu hình mạng máy- giao diện hiển thị dòng lệnh) nhằm mục đích xác định cách thức dữ liệu Ipconfig được chia thành các gói, được gắn địa chỉ, vận chuyển, định tuyến và nhận ở điểm đến.

TCP/IP không yêu cầu quản lý nhiều và nó được thiết kế để khiến mạng đáng tin cậy hơn với khả năng phục hồi tự động.

18

Page 24: Đồ án Lập trình mạng - udn.vndaotao.vku.udn.vn/.../2020/12/1609313199-do-an-co-so-4.docx · Web viewMức 2: trình biên dịch kiểm soát các đoạn mã sao cho tuân

TCP xác định cách các nút lệnh và truy xuất nó. Ngoài ra, nó cũng quản lý cách các tin được phân thành các gói nhỏ trước khi được chuyển qua và được tập hợp lại theo đúng thứ tự tại địa chỉ đến.

19

Page 25: Đồ án Lập trình mạng - udn.vndaotao.vku.udn.vn/.../2020/12/1609313199-do-an-co-so-4.docx · Web viewMức 2: trình biên dịch kiểm soát các đoạn mã sao cho tuân

CHƯƠNG 3: KẾT QUẢ

1. Kết quả đạt được.Một giao diện với đồ họa đẹp mắt. Truy xuất được thông tin mạng cấu hình máy tinh một cách dễ dàng dàng, thân thiện.Tiện ích ipconfig có thể cung cấp nhiều thông tin để khắc phục sự cố mạng. 

2. Demo chương trình.a. Giao diện ban đầu của chương trình Ipconfig.

Hình 7: Giao diện chính của ứng dụng.Giao diện với màu sắc hài hòa, thiết kế đẹp và dễ nhìn.

b. Truy xuất thông tin lệnh của một Button trong chương trình.

20

Page 26: Đồ án Lập trình mạng - udn.vndaotao.vku.udn.vn/.../2020/12/1609313199-do-an-co-so-4.docx · Web viewMức 2: trình biên dịch kiểm soát các đoạn mã sao cho tuân

Hình 8: Giao diện hiển thị thông tin một nút trong ứng dụng.Thông tin được truy xuất chính xác.Thông tin hiển thị không được hiển thị không được đẹp và chưa được đầy đủ

thông tin của câu lệnh.3. Vấn đề chưa thực hiện được.

Với hệ điều hành Windown, việc truy xuất cấu hình mạng máy tính khó khăn hơn so với hệ điều hành Linux.

Giao diện hiển thị chưa được đầy đủ thông tin.Việc truy xuất thông tin chưa được thủ nghiệm và chạy trên những thiết bị và

hệ điều hành khác.4. Hướng phát triển trong tương lai.

Nâng cấp giao diện hiển thị.

21

Page 27: Đồ án Lập trình mạng - udn.vndaotao.vku.udn.vn/.../2020/12/1609313199-do-an-co-so-4.docx · Web viewMức 2: trình biên dịch kiểm soát các đoạn mã sao cho tuân

Tối ưu hóa lệnh code.Hiển thị đầy đủ và chi tiết thông tin cấu hình mạng của máy.Phần mềm sẽ được kiểm nghiệm, chạy thử trên tất cả các thiết bị và hệ điều

hành.Phần mềm sẽ được phát triển thành một ứng dụng và được chạy trên các nền

tảng Smartphone, Desktop,…Ngoài ra, phần mềm còn tích hợp thêm các tiện ích truy xuất thông tin khác

trên máy tính như lệnh Ping, Tracert, Nestrat, Shutdown, DIR, DEL, …

22

Page 28: Đồ án Lập trình mạng - udn.vndaotao.vku.udn.vn/.../2020/12/1609313199-do-an-co-so-4.docx · Web viewMức 2: trình biên dịch kiểm soát các đoạn mã sao cho tuân

DANH MỤC TÀI LIỆU THAM KHẢO

1. Tài liệu tiếng việt.[Ebook] Lập trình mạng (2010, Tiếng Việt) – Lương Ánh Hoàng.[Ebook] Tài liệu học lập trình Java từ cơ bản đến nâng cao – ĐH FPT

Polytechnic (PDF).Giao-trinh-thiet-ke-mang-Dh-Duy-tan.pdf

2. Tài liệu tiếng anh.https://www.oracle.com/java/

23