BÀi thực hành số 1



tải về 346.95 Kb.
trang8/8
Chuyển đổi dữ liệu14.08.2016
Kích346.95 Kb.
#19321
1   2   3   4   5   6   7   8

XV.Giả lập mạng Campus

Đồ hình mạng sử dụng:




-HẾT-

BÀI THỰC HÀNH SỐ 7

Họ tên sinh viên:



Tổ: MSSV:

XVI.Mục tiêu


  • Hiểu biết về IP.

  • Hiểu biết về TCP.

XVII.Các bước thực hiện

1.Hiểu biết về IP

      1. IP và ping


  • Khởi động lại phần mềm Ethereal, bắt đầu tiến trình bắt gói.

  • Mở một DOS prompt và lần lượt thực hiện lệnh ping với kích thước tin là 50, 500, 5000 bytes (tới bất kỳ trang nào).

  • Sau khi lệnh ping kết thúc, dừng lại tiến trình bắt gói trên Ethereal. Lọc các thông điệp với “ip.proto==01”.

  • Xem xét thông tin Internet Protocol (từ chi tiết đến tổng quát) trong các gói ping trên và trả lời các câu hỏi sau:

  • Cho biết version của IP:



  • Bao nhiêu byte trong IP header:



  • Bao nhiêu byte trong payload của IP datagram:

  • Khi ping 50 bytes:

  • Khi ping 500 bytes:

  • Khi ping 5000 bytes:

  • Cho biết giá trị và ý nghĩa của trường Identification:

  • Cho biết giá trị và ý nghĩa của trường TTL:

  • Các IP datagram trên có IP datagram nào bị fragment? Làm thế nào để xác định datagram nào bị fragment hay không bị fragment?



  • Đối với IP datagram thứ 3 (ping 5000 bytes), hãy cho biết có bao nhiêu fragment được tạo ra?



  • Xem xét fragment đầu tiên và fragment thứ 2 của IP datagram thứ 3 (ping 5000 bytes), cho biết sự thay đổi trong IP header.



  • Xem xét fragment cuối cùng của datagram thứ 3 (ping 5000 bytes), cho biết thông tin nào cho biết nó là fragment cuối cùng:


      1. IP và các lớp trên (Transport, Application)


  • Khởi động trình duyệt, xoá các thông tin trong cache.

  • Khởi động lại phần mềm Ethereal, bắt đầu tiến trình bắt gói.

  • Nhập URL: http://www.hutech.edu.vn/, trang web sẽ hiển thị.

  • Dừng lại tiến trình bắt gói trên Ethereal. Lọc các thông điệp với “http”.

  • Xem xét thông tin Internet Protocol (từ chi tiết đến tổng quát) trong gói HTTP GET và trả lời các câu hỏi sau:

  • Bao nhiêu byte trong IP header:



  • Bao nhiêu byte trong payload của IP datagram:



  • Trong IP header, cho biết giá trị trường Protocol. Cho biêt ý nghĩa của trường này:



  • Xem xét kích thước các thành phần IP datagram trên, hãy cho biết định dạng của IP datagram (xem lại lý thuyết và so sánh với thực nghiệm, giải thích sự khác nhau nêu có).


2.Hiểu biết về TCP


  • Khởi động trình duyệt IE, loại bỏ các thông tin trong cache (Tools-> Internet Options-> Delete Files), và loại bỏ việc sử dụng proxy server nếu có thể (Tools ->Internet Options -> Connections -> LAN Settings), xóa cach (xem bài thực hành số 2)

  • Khởi động phần mềm Ethereal, bắt đầu tiến trình bắt gói.

  • Nhập URL: www.hutech.edu.vn vào trình duyệt IE, trang web hiển thị

  • Sau khi download xong, dừng lại tiến trình bắt gói trên Ethereal, lọc các thông điệp với “tcp”. Chọn gói thông điệp được gởi từ máy của bạn đến server (xem địa chỉ IP nguồn và đích).

  • Xem xét thông tin (từ chi tiết đến tổng quát) trong gói trên và trả lời các câu hỏi sau:

  • Địa chỉ IP máy tính của bạn (client):



  • TCP port được dùng trên máy client:



  • Địa chỉ IP của website www.hutech.edu.vn (server):



  • TCP port được dùng với máy chủ (server):



  • Ta không cần quan tâm đến các TCP segment chứa các thông điệp HTTP vì vậy trên giao diện Ethereal chọn Analyze->Enabled Protocols, bỏ chọn cho HTTP và nhấn OK. Giao diện của Ethereal sẽ thay đổi. Xem xét thông tin (từ chi tiết đến tổng quát) trong các TCP segment trên và trả lời các câu hỏi sau:

  • Sequence number của TCP SYN segment được dùng để bắt đầu kết nối TCP giữa client (máy tính của bạn) và www.hutech.edu.vn? (chọn package TCP SYN từ máy của bạn đến server)



  • Thông tin của field nào trong segment này dùng để xác định nó là một SYN segment?



  • Sequence number của TCP SYN ACK segment được gởi bởi www.hutech.edu.vn?



  • Giá trị của trường ACKnowledgement field trong SYN ACK segment này?



  • www.hutech.edu.vn xác định giá trị ACKnowledgement bằng cách nào?



  • Thông tin của field nào trong segment này dùng để xác định nó là một SYN ACK segment?



  • Sequence number của TCP segment chứa lệnh HTTP GET (là segment mà có GET trong trường DATA):



  • Xem TCP chứa lệnh HTTP GET như là segment đầu tiên. Cho biết các chỉ số sequence number của các segment tiếp theo trong TCP connection có chứa lệnh HTTP GET:



  • Cho biết kích thước của mỗi TCP segment trên:



  • Cho biết throughput (bytes transferred per unit time) của TCP connection trên:



  • Xem lại chương 5 và dựa trên thực nghiệm hãy vẽ lại quá trình thiết lập kết nối, truyền nhận dữ liệu, đóng kết nối TCP với đầy đủ các thông số.

--HẾT--


BÀI THỰC HÀNH SỐ 8

Họ tên sinh viên:



Tổ: MSSV:

XVIII.Mục tiêu


  • Hiểu biết về DNS.

  • Hiểu biết về HTTP.

XIX.Các bước thực hiện

1.Hiểu biết về DNS


  • Mở một DOS prompt và thực hiện lệnh ipconfig /flushdns để loại bỏ các thông tin trong DNS cache trên máy tính của bạn. Thực hiện lệnh ipconfig để biết địa chỉ IP máy tính bạn đang sử dụng.

  • Khởi động lại phần mềm Ethereal, bắt đầu tiến trình bắt gói.

  • Thực hiện lệnh nslookup www.yahoo.com trên DOS prompt.

  • Sau khi lệnh nslookup thực hiện xong, dừng lại tiến trình bắt gói trên Ethereal, lọc các thông điệp với “ip.addr==”.

  • Xem xét thông tin (từ chi tiết đến tổng quát) trong các thông điệp trên và trả lời các câu hỏi sau:

  • Thông điệp DNS query được tạo ra từ máy tính nào và được gởi thông qua port nào?

  • Máy tính nào? Địa chỉ IP:

  • Port:

  • Thông điệp DNS response được tạo ra từ máy tính nào và được gởi thông qua port nào?

  • Máy tính nào? Địa chỉ IP:

  • Port:

  • Các thông điệp trên dùng TCP hay UDP? dựa vào trường nào để biết?

  • Địa chỉ IP đích trong thông điệp DNS query có trùng với địa chỉ DNS Server cục bộ (dùng lệnh ipconfig/all để xác định) hay không?

  • Dựa vào trường nào để biết 1 thông điệp là DNS query hay DNS response?



  • Xem xét thông điệp DNS query thứ 2, hãy cho biết giá trị và ý nghĩa trường Type của DNS query?



  • Xem xét thông điệp DNS response cuối cùng, hãy cho biết kết quả trả lời (trường Answer) gồm những thông tin gì và ý nghĩa của mỗi thông tin?



  • Khởi động lại phần mềm Ethereal, bắt đầu tiến trình bắt gói.

  • Thực hiện lệnh nslookup -type=MX yahoo.com trên DOS prompt.

  • Sau khi lệnh nslookup thực hiện xong, dừng lại tiến trình bắt gói trên Ethereal, lọc các thông điệp với “ip.addr=”.

  • Xem xét thông tin trong các thông điệp trên và trả lời các câu hỏi sau:

  • Xem xét thông điệp DNS query thứ 2, hãy cho biết giá trị và ý nghĩa trường Type của DNS query?



  • Xem xét thông điệp DNS response cuối cùng, hãy cho biết bao nhiêu kết quả trả lời trong trường “Answers”?



  • Xét kết quả trả lời đầu tiên trong trường “Answers”, cho biết ý nghĩa của những thông tin trong kết quả này?


2.Hiểu biết về HTTP


  • Khởi động trình duyệt IE hoặc Firefox, loại bỏ các thông tin trong cache (IE: ToolsInternet OptionsDelete Files, FF: Ctrl-Shift-Del), và loại bỏ việc sử dụng proxy server nếu có thể (IE: ToolsInternet OptionsConnectionsLAN Settings, FF: ToolsOptions).

  • Khởi động lại phần mềm Ethereal, bắt đầu tiến trình bắt gói.

  • Nhập URL: http://www.cse.hcmut.edu.vn/people.html vào trình duyệt, trang web hiển thị.

  • Dừng lại tiến trình bắt gói trên Ethereal, lọc các thông điệp với “http”.

  • Xem xét thông tin trong các thông điệp trên và trả lời các câu hỏi sau:

  • Web browser của bạn đang chạy là HTTP 1.0 hay HTTP 1.1?

  • Cho biết sự khác nhau cơ bản giữa HTTP1.0 và HTTP1.1?

  • Version của HTTP mà server www.hutech.edu.vn đang chạy?

  • Thông tin và ý nghĩa của response code trả về từ server:

  • Tập tin HTML mà Web browser nhận được đã được thay đổi lần cuối cùng khi nào:



  • Kích thước của tập tin HTML mà Web browser nhận được:

  • Có bao nhiêu thông điệp yêu cầu HTTP GET được gởi từ trình duyệt:

  • Khởi động lại phần mềm Ethereal, bắt đầu tiến trình bắt gói.

  • Làm tươi (refresh) trình duyệt web bằng cách nhấn F5 hoặc nút Refresh trên toolbar.

  • Sau khi trang web hiển thị lại, dừng lại tiến trình bắt gói trên Ethereal, lọc các thông điệp với “http”.

  • Xem xét thông tin (từ chi tiết đến tổng quát) trong các thông điệp trên và trả lời các câu hỏi sau:

  • Xem xét yêu cầu HTTP GET đầu tiên của trình duyệt, cho biết có dòng “IF-MODIFIED-SINCE” hay không? nếu có thì cho biết ý nghĩa của dòng này?

  • Thông tin của response code trả về từ server:

  • Tập tin HTML do server trả về chứa những thông tin cơ bản nào?

  • Kích thước của thông điệp trả về từ Web server mà Web browser nhận được:



  • Có bao nhiêu thông điệp yêu cầu HTTP GET được gởi từ trình duyệt:

--HẾT--


BÀI THỰC HÀNH SỐ 9

XX.Mục tiêu


  • Hiểu biết về kết nối mạng diện rộng.

  • Hiểu biết về IP Routing.

  • Liên mạng diện rộng dùng Cisco Router.

XXI.Kết nối mạng diện rộng

1.Cấu hình giao tiếp mạng diện rộng


2600>enable

2600#config t

2600(config)#interface serial 0/0

2600(config-if)#encapsulation ppp

2600(config-if)#clock rate 64000

2600(config-if)#ip address 192.168.1.1 255.255.255.252

2600(config-if)#no shutdown

2600(config-if)#^z

2600#

2.Kiểm tra thông tin cấu hình giao tiếp mạng diện rộng


2600#show interface s0/0

XXII.Cài đặt IP Routing

1.Cấu hình Static routing


Chúng ta sẽ phải xây dựng bảng routing tĩnh cho mỗi router để có thể dẫn đường cho toàn mạng. Chúng ta phải cấu hình cho tất cả các router thì việc tìm đường mới có thể hoạt động được.

Các lệnh để cấu hình router:



  • con t

  • ip route NetID Subnetmask DestIP



  • exit

  • show ip route


Ví dụ:
Router#con t

Router(config)#ip route 172.16.0.0 255.255.0.0 192.168.1.2

Router(config)#exit

Router#


2.Cấu hình Default routing


Cấu hình Default routing thì không giống như cấu hình default gate-way trtrên host. Nên nhớ rằng router là dafault gateway và chúng ta không thể đặt một default gateway trên router. Default gateway sẽ thực hiện : nếu một packet cho một mạng không nằm trong routing table thì router sẽ chuyển packet này đến một default route.

Chúng ta chỉ có thể cấu hình default routing trên các router gốc, là các router chỉ có một đường in và out.

Cấu hình default routing sử dụng các lệnh sau:


  • con t

  • no ip route NetID Subnetmask DestIP

  • ip route 0.0.0.0 0.0.0.0 DestIP

  • ip classless

  • exit


Ví dụ:
Router>en

Router#con t

Enter configuration commands, one per line. End with CNTL/Z.

Router(config)#ip route 0.0.0.0 0.0.0.0 172.16.20.1

Router(config)#ip classless

Router(config)#exit

Router#

3.Cấu hình RIP routing


  • con t

  • router rip

  • network 172.16.0.0

  • ^z

4.Cấu hình IGRP routing


  • con t

  • router IGRP 10

  • network 172.16.0.0

  • ^z



XXIII.Liên mạng diện rộng dùng Cisco Router

1.Cấu hình 1

a.Đồ hình mạng


- Xây dựng đồ hình mạng mạng trên.

- Kiểm tra kết nối mạng trong mỗi subnet bằng lệnh ping.

b.Định tuyến tĩnh


- Cấu hình.định tuyến tĩnh trên 02 bộ định tuyến.

- Kiểm tra kết nối liên mạng bằng lệnh ping.

- Xem xét bảng đường đi trên 02 bộ định tuyến.

- Lưu lại cấu hình này với tên tập tin là cauhinh1.nml

- Nếu thay đổi mạng 10.0.0.0/8 thành mạng 203.162.4.0/24 thì liên mạng có còn hay

không. Hãy giải thích và đưa ra giải pháp định tuyến thay thế nếu không còn liên mạng.


c.Định tuyến động


- Mở lại cauhinh1.nml

- Loại bỏ cấu hình định tuyến tĩnh trên 02 bộ định tuyến.

- Cấu hình.định tuyến động với RIP trên 02 bộ định tuyến.

- Kiểm tra kết nối liên mạng bằng lệnh ping.

- Xem xét bảng đường đi trên 02 bộ định tuyến

- Xem xét quá trình trao đổi và cập nhật thông tin bảng đường đi trên bộ định tuyến A.

- Thay đổi mạng 10.0.0.0/8 thành mạng 203.162.4.0/24

- Nhận biết quá trình trao đổi và cập nhật lại bảng đường đi trên bộ định tuyến A.

- Kiểm tra lại kết nối liên mạng bằng lệnh ping.

2.Cấu hình

a.Topo mạng



- Dùng kỹ thuật subnet để chia mạng 172.16.0.0/16 thành các mạng con.

- Sử dụng lại cauhinh1.nml ở trên để xây dựng đồ hình mạng mạng trên.

- Kiểm tra kết nối mạng trong mỗi subnet bằng lệnh ping.

b.Định tuyến


- Lựa chọn phương án cấu hình định tuyến hợp lý cho các bộ định tuyến.

- Kiểm tra kết nối liên mạng bằng lệnh ping.

- Xem xét bảng đường đi trên 03 bộ định tuyến

- Lưu lại cấu hình này với tên tập tin là cauhinh2.nml


-HẾT-
BÀI THỰC HÀNH SỐ 10


  1. Mục tiêu

    • Hiểu biết lập trình mạng với Java.




  1. Các bước thực hiện

  1. Hiểu biết về giao thức HTTP

    • RFC 1945: Hypertext Transfer Protocol -- HTTP/1.0

    • RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1




  1. Soạn thảo tập tin MiniHTTPServer.java (Lưu ý: hiệu chỉnh các đoạn …)

import java.net.*;
import java.io.*;
import java.util.*;

public class MiniHTTPServer {


  public static void main (String argv[]) throws IOException {
    int port = 8000; // port number
    // Create a ServerSocket object
    ServerSocket server_socket = ...
    System.out.println ("Server started");

    // Loop indefinitely while waiting for clients to connect


    while (true) {

      // accept () does not return until a client requests a connection


      Socket client_socket = ...

      // Now that a client has arrived, create an instance of our special


      // thread subclass to respond to it.
      Worker worker = new Worker (client_socket);
      ...
      System.out.println ("New client connected");
    }
  } // main
} // class MiniHTTPServer


  1. Soạn thảo tập tin Worker.java (Lưu ý: hiệu chỉnh các đoạn …)

import java.net.*;

import java.io.*;

import java.util.*;
/** Threaded process to serve the client connected to the socket.**/

class Worker extends Thread {

Socket socket = null;

/** Pass the socket as a argument to the constructor **/

Worker ( Socket client_socket ) throws SocketException {

socket = client_socket;
// Set the thread priority down so that the ServerSocket

// will be responsive to new clients.

setPriority ( NORM_PRIORITY - 1 );

}
/**

* This thread receives a message from the client that will

* request a web page file. The file name is found relative to

* the directory location of this code.

**/


public void run () {

try {


// Use the client socket to obtain an input stream from it.

InputStream is = ...

// For text input we wrap an InputStreamReader around

// the raw input stream and set ASCII character encoding.

InputStreamReader isr =

new InputStreamReader (is, "8859_1");

// Finally, use a BufferReader wrapper to obtain

// buffering and higher order read methods.

BufferedReader in = new BufferedReader (isr);
// Now get an output stream to the client.

OutputStream os = ...
// For text output we wrap an OutputStreamWriter around

// the raw output stream and set ASCII character encoding.

OutputStreamWriter osr =

new OutputStreamWriter (os, "8859_1");

// Finally, we use a PrintWriter wrapper to obtain its

// higher level output methods.Open in autoflush mode.

// (Autoflush occurs only with println() method.)

PrintWriter out = new PrintWriter (osr, true);
// First read the message from the client

String str = in.readLine ();

System.out.println ("Client message: " + str);


// Example: GET /index.html HTTP/1.0 \r\n\r\n

// Split the message into substrings.

String [] tokens = str.split(" ");
// Check that the message has a minimun number of words

// and that the first word is the GET command.

if ((tokens.length >= 2) &&

tokens[0].equals ("GET")) {

String file_name = tokens[1];
// Ignore the leading "/" on the file name.

if (file_name.startsWith ("/"))

file_name = file_name.substring (1);
// If no file name is there, use index.html default.

if (file_name.endsWith ("/") || file_name.equals (""))

file_name = file_name + "index.html";
// Check if the file is hypertext or plain text

String content_type;

if (file_name.endsWith (".html") ||

file_name.endsWith (".htm")) {

content_type = "text/html";

}

else {



content_type = "text/plain";

}

// Now read the file from the disk and write it to the



// output stream to the client.

try {
// Open a stream to the file.

FileInputStream file_in = new FileInputStream (file_name);
// Send the header.

out.print ("HTTP/1.0 200 OK\r\n");

File file = new File (file_name);

Date date = new Date (file.lastModified ());

out.print ("Date: " + date + "\r\n");

out.print ("Server: MiniServer 1.0\r\n");

out.print ("Content-length: " + file_in.available ()

+ "\r\n");

out.print ("Content-type: " + content_type

+ "\r\n\r\n");
// Creat a byte array to hold the file.

byte [] data = new byte [file_in.available ()];


file_in.read (data); // Read file into the byte array

os.write (data); // Write it to client output stream

os.flush (); // Remember to flush output buffer

file_in.close (); // Close file input stream


} catch (FileNotFoundException e) {

// If no such file, then send the famous 404 message.

out.println ("404 Object Not Found" );

}

} else{



out.println ("400 Bad Request");

}

} catch (IOException e) {



System.out.println ( "I/O error " + e );

}
// Close client socket.

try {

...


} catch (IOException e){

System.out.println ("I/O error " + e );

}

// On return from run () the thread process will stop.



} // run
} // class Worker



  1. Thực thi MiniHTTP Server

    • Tạo một tập tin hello.html tại thư mục chứa 2 tập tin Java nói trên (ví dụ c:\bai1):





Hello World

content=”text/html; charset=iso-8859-1”>







Hello World !
Каталог: books -> cong-nghe-thong-tin -> an-ninh-bao-mat
cong-nghe-thong-tin -> Câu 1: Các thành phần của hệ điều hành, nhân hệ điều hành, tải hệ điều hành
cong-nghe-thong-tin -> Bài 1 Những khái niệm cơ bản về ngôn ngữ c mục tiêu
cong-nghe-thong-tin -> Trừ khi người ta cho bạn ngủ trong trạng thái đông lạnh suốt mấy năm vừa qua, nếu không, chắc chắn bạn đã nghe nói nhiều về máy tính và những mối đe dọa từ Internet đối với sự riêng tư của bạn
cong-nghe-thong-tin -> Mục lục 2 Làm quen với visual basic 9
cong-nghe-thong-tin -> TÀi liệu html, dhtml và javascript ha noi 9/2008
cong-nghe-thong-tin -> Hình thức trả lời là chọn 1 hoặc nhiều đáp án đúng. Ứng dụng web
cong-nghe-thong-tin -> SỞ khoa học và CÔng nghệ ĐĂKLĂk trung tâm tin họC & thông tin khcn
cong-nghe-thong-tin -> Thử xem iq đến đâu? Phần quan trọng nhất của hệ điều hành Linux là

tải về 346.95 Kb.

Chia sẻ với bạn bè của bạn:
1   2   3   4   5   6   7   8




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương