Đề thi giữa kỳ 132 Lập trình mạng | Trường Đại học Bách khoa Hà Nội
1. Nếu cần phát triển thêm trình điều khiển cho một loại thiết bị mới. Ứng dụng sẽ phải viết ở tầng nào của Windows Socket. Tài liệu được sưu tầm, giúp bạn ôn tập và đạt kết quả cao. Mời bạn đọc đón xem!
35
18 lượt tải
Tải xuống
1. Th vi n liên k t đ ng c a Windows Socket có tên là:ư ệ ế ộ ủ
a. WinSock.DLL
b. WinSock2.DLL
c. WS2.DLL
d. WS2_32.DLL
2. Biên c a thông đi p trong các giao th c h ng dòng cóủ ệ ứ ướ
đ c b o toàn hay không ?ượ ả
a. Có
b. Không
c. Tùy t ng tr ng h p, n u đ c t ch c h p lý.ừ ườ ợ ế ượ ổ ứ ợ
3. N u c n phát tri n thêm trình đi u khi n cho m t lo iế ầ ể ề ể ộ ạ
thi t b m i. ng d ng sẽ ph i vi t t ng nào c aế ị ớ Ứ ụ ả ế ở ầ ủ
Windows Socket
a. Application
b. Provider
c. Transport Protocol
d. Không t ng nào đúngầ
4. Công c dùng đ b t các gói tin g i ra và vào m t giaoụ ể ắ ử ộ
di n m ng c a máy tính làệ ạ ủ
a. Netcat
b. Network Monitor
c. Cain
d. Không ph ng án nào đúng.ươ
5. WSADATA là c u trúc dùng đấ ể
a. Truy n thông tin v phiên b n WinSock màề ề ả
ng d ng mu n kh i t oứ ụ ố ở ạ
b. Nh n thông tin v phiên b n WinSock có trênậ ề ả
h th ng.ệ ố
c. C hai đáp án đ u sai.ả ề
6. Đ có th s d ng th vi n Windows Socket, t p tiêuể ể ử ụ ư ệ ệ
đ c n khai báo là:ề ầ
a. Winsock.h
b. Winsock2.h
c. Ws2_32.h
d. Ws2.h
7. Trình đi u khi n cho m t thi t b m ng sẽ đ c ch y ề ể ộ ế ị ạ ượ ạ ở
ch đế ộ
a. User Mode
b. Kernel Mode
c. System Mode
d. Không ph ng án nào đúng.ươ
8. N u c n ph i vi t m t ng d ng c n tính đáp ngế ầ ả ế ộ ứ ụ ầ ứ
nhanh và ch p nh n sai sót. Giao th c l a ch n sẽ làấ ậ ứ ự ọ
a. TCP
b. IP
c. ICMP
d. UDP
9. D ch v phân gi i tên mi n ch y t ng nào trong cácị ụ ả ề ạ ở ầ
t ng sau đâyầ
a. Application
b. Transport
c. Internetwork
d. Datalink
10. Công c nào s d ng đ ki m tra ho t đ ng c a m tụ ử ụ ể ể ạ ộ ủ ộ
máy ch phân gi i tên mi nủ ả ề
a. Ping
b. Nslookup
c. Netstat
d. Ipconfig
11. Giao th c nào đ c s d ng đ chia s m t đ a ch toànứ ượ ử ụ ể ẻ ộ ị ỉ
c c cho m t nhóm các máy tính trong m ng LAN.ụ ộ ạ
a. VLAN
b. MAC
c. NAT
d. Không đáp án nào đúng
12. Trong m t m ng máy tính đ c chia s chung m t đ aộ ạ ượ ẻ ộ ị
ch IP toàn c c. Thi t l p nào sau đây sẽ cho phép m tỉ ụ ế ậ ộ
máy tính t Internet ch đ ng k t n i đ n m t máyừ ủ ộ ế ố ế ộ
ch trong m ng.ủ ạ
a. DMZ
b. Virtual Server
c. Port Forwarding
d. C ba ph ng án trên.ả ươ
13. Công c dùng đ theo dõi tài nguyên s d ng c a máyụ ể ử ụ ủ
tính trên h đi u hành Windows làệ ề
a. Task Manager
b. Resource Monitor
c. Wireshark
d. Ph ng án a và b.ươ
14. Đ có th s d ng d ng th vi n Windows Socket, t pể ể ử ụ ụ ư ệ ệ
th vi n c n khai báo cho quá trình liên k t là.ư ệ ầ ế
a. Winsock.lib
b. WS2_32.LIB
c. WS2_32.DLL
d. Winsock2.dll
15. N u c n ph i thi t k m t giao th c m i, ng d ng sẽế ầ ả ế ế ộ ứ ớ ứ ụ
ph i tích h p vào t ng nào c a Windows Socket APIả ợ ầ ủ
a. Application
b. Provider
c. Transport Protocol
d. Không t ng nào đúng.ầ
16. Công c đa năng, v a có th đóng vai trò client, v aụ ừ ể ừ
server, ch y trên giao th c TCP, UDP là.ạ ứ
a. Netcat
b. TCPDump
c. Netstat
d. Network Monitor
17. Công c chu n đoán m ng dùng đ hi n th các k t n iụ ẩ ạ ể ể ị ế ố
hi n có trên máy tính làệ
a. Wireshark
b. TCPView
c. Netcat
d. T t c các công c trênấ ả ụ
18. Hàm nào sau đây th c hi n công vi c kh i t oự ệ ệ ở ạ
Windows Socket
a. WSStartup
b. WinsockStartup
c. SocketStartup
d. WSAStartup
Phần 1. Trắc nghiệm
(6đ – tô kết quả vào phiếu trả lời trắc nghiệm)
ĐỀ THI GIỮA KỲ MÔN LẬP TRÌNH MẠNG
Thời gian: 90 phút – Không được phép dùng tài liệu
132
19. Hàm nào sau đây s d ng đ gi i phóng Windows Socket API.ử ụ ể ả
a. WSACleanup
b. WSCleanup
c. Cleanup
d. Ph ng án khác:…ươ
20. L nh nào sau đây dùng đ t o m t socket TCPệ ể ạ ộ
a. socket(AF_INET,SOCK_STREAM,IPPROTO_TCP).
b. socket(AF_INET,SOCK_DGRAM,IPROTO_TCP).
c. Socket(AF_INET,SOCK_STREAM,IPPROTO_UDP)
d. socket(AF_INET,SOCKSTREAM,IPPROTOTCP).
21. Đ chuy n đ i giá tr c ng t đ u nh sang đ u to,ể ể ổ ị ổ ừ ầ ỏ ầ
l nh nào sau đây sẽ đ c s d ngệ ượ ử ụ
a. ntohl
b. ntohs
c. htonl
d. htons
22. C u trúc nào đ c s d ng đ khai báo đ a ch socketấ ượ ử ụ ể ị ỉ
internet:
a. sock_addr
b. sockaddr
c. sockaddr_in
d. sock_addr_in
23. Các giá tr l n h n 01 byte trong c u trúc l u tr đ a chị ớ ơ ấ ư ữ ị ỉ
c a socket đ c t ch c theo ki u:ủ ượ ổ ứ ể
a. Đ u toầ
b. Đ u nhầ ỏ
c. Tùy tr ng h pườ ợ
24. Đ l y mã l i c a thao tác ngay tr c đó. Hàm nào sauể ấ ỗ ủ ướ
đây sẽ đ c s d ngượ ử ụ
a. GetLastError
b. WSAGetError
c. WSAGetLastError
d. WSALastError
25. Đ chuy n đ i m t xâu sang đ a ch IP, l nh nào sauể ể ổ ộ ị ỉ ệ
đây là đúng
a. inet_ntoa(“192.168.1.1”);
b. inet_aton(“192.168.1.1”);
c. inet_addr(“192.168.1.1”);
d. inet_stoi(“192.168.1.1”);
26. Trong Windows Socket, v i các hàm không có ti n tớ ề ố
WSA thì mã l i tr v là 0 có nghĩa là:ỗ ả ề
a. Thành công
b. Th t b iấ ạ
c. Tùy tr ng h pườ ợ
27. Đ chuy n đ i m t đ a ch IP l u trong bi nể ể ổ ộ ị ỉ ư ế
serverAddr l u tr đ a ch socket sang d ng xâu ký t ,ư ữ ị ỉ ạ ự
l nh nào sau đây là đúngệ
a. inet_ntos(serverAddr.sin_addr);
b. inet_ntoa(serverAddr.s_addr);
c. inet_itos(serverAddr.sin_addr);
d. inet_ntoa(serverAddr.sin_addr);
28. Đo n ch ng trình sau th c hi n k t n i đ n m tạ ươ ự ệ ế ố ế ộ
server, đi n vào v trí <A>, <B>, <C> các l nh còn thi u.ề ị ệ ế
ret = connect(s,
(sockaddr*)&serverAddr,sizeof(serverAddr));
if (ret ==SOCKET_ERROR) {
printf(“Loi ket noi: %d”, <A>);
<B>;
<C>;
};
a. <A>: GetLastError, <B>: closesocket (s), <C>:
WSACleanup().
b. <A>: WSAGetLastError(), <B> close(s), <C>:
Cleanup().
c. <A>: WSALastError(), <B>: closesocket(s),
<C>: đ tr ng.ể ố
d. Không ph ng án nào đúng.ươ
29. L nh nào sau đây dùng đ t o m t socket UDPệ ể ạ ộ
a. socket(AF_INET,SOCK_UDP, IPPROTO_TCP).
b. socket(AF_INET,SOCK_DGRAM,IPROTO_TCP).
c. Socket(AF_INET,SOCK_STREAM,IPPROTO_UDP)
d. Không l nh nào đúng.ệ
30. Đ th c hi n phân gi i tên mi n b ng WinSock, c n bể ự ệ ả ề ằ ầ ổ
sung t p tiêu đ nàoệ ề
a. Winsock2.h
b. Ws2_32.h
c. Ws2ip.h
d. Ws2tcpip.
Phần 2. Tự luận
(4đ – viết ra giấy tự chuẩn bị)
Vi t ch ng trình FileClient s d ng mô hình ế ươ ử ụ select làm nhi m v sau:ệ ụ
1. K t n i đ n server có đ a ch /tên mi n đ c nh p t bàn phím.ế ố ế ị ỉ ề ượ ậ ừ
2. Nh n tên file t bàn phím và g i yêu c u t i file đ n server, cú ph p có d ng “GET <TenFile>\n”.ậ ừ ử ầ ả ế ả ạ
3. X lý k t qu t serverử ế ả ừ
a. N u server báo l i, thì d li u g i tr có d ng “FAILED\n<ThongBaoLoi>\n\n”.ế ỗ ữ ệ ử ả ạ
b. N u server báo thành công thì d li u g i tr có d ng “OK\n<FileSize>\n<NoiDungFile>\n\n”. Phân tích k tế ữ ệ ử ả ạ ế
qu t server và ghi n i dung file nh n đ c ra đĩa.ả ừ ộ ậ ượ
4. Ch ng trình có th t i nhi u file cùng m t lúc.ươ ể ả ề ộ
Bấm Tải xuống để xem toàn bộ.
Preview text:
- Thư viện liên kết động của Windows Socket có tên là:
Phần 1. Trắc nghiệm
(6đ – tô kết quả vào phiếu trả lời trắc nghiệm)
ĐỀ THI GIỮA KỲ MÔN LẬP TRÌNH MẠNG
Thời gian: 90 phút – Không được phép dùng tài liệu
- WinSock.DLL
- WinSock2.DLL
- WS2.DLL
- WS2_32.DLL
- Biên của thông điệp trong các giao thức hướng dòng có được bảo toàn hay không ?
- Có
- Không
- Tùy từng trường hợp, nếu được tổ chức hợp lý.
- Nếu cần phát triển thêm trình điều khiển cho một loại thiết bị mới. Ứng dụng sẽ phải viết ở tầng nào của Windows Socket
- Application
- Provider
- Transport Protocol
- Không tầng nào đúng
- Công cụ dùng để bắt các gói tin gửi ra và vào một giao diện mạng của máy tính là
- Netcat
- Network Monitor
- Cain
- Không phương án nào đúng.
- WSADATA là cấu trúc dùng để
- Truyền thông tin về phiên bản WinSock mà ứng dụng muốn khởi tạo
- Nhận thông tin về phiên bản WinSock có trên hệ thống.
- Cả hai đáp án đều sai.
- Để có thể sử dụng thư viện Windows Socket, tệp tiêu đề cần khai báo là:
- Winsock.h
- Winsock2.h
- Ws2_32.h
- Ws2.h
- Trình điều khiển cho một thiết bị mạng sẽ được chạy ở chế độ
- User Mode
- Kernel Mode
- System Mode
- Không phương án nào đúng.
- Nếu cần phải viết một ứng dụng cần tính đáp ứng nhanh và chấp nhận sai sót. Giao thức lựa chọn sẽ là
- TCP
- IP
- ICMP
- UDP
- Dịch vụ phân giải tên miền chạy ở tầng nào trong các tầng sau đây
- Application
- Transport
- Internetwork
- Datalink
- Công cụ nào sử dụng để kiểm tra hoạt động của một máy chủ phân giải tên miền
- Ping
132
- Nslookup
- Netstat
- Ipconfig
- Giao thức nào được sử dụng để chia sẻ một địa chỉ toàn cục cho một nhóm các máy tính trong mạng LAN.
- VLAN
- MAC
- NAT
- Không đáp án nào đúng
- Trong một mạng máy tính được chia sẻ chung một địa chỉ IP toàn cục. Thiết lập nào sau đây sẽ cho phép một máy tính từ Internet chủ động kết nối đến một máy chủ trong mạng.
- DMZ
- Virtual Server
- Port Forwarding
- Cả ba phương án trên.
- Công cụ dùng để theo dõi tài nguyên sử dụng của máy tính trên hệ điều hành Windows là
- Task Manager
- Resource Monitor
- Wireshark
- Phương án a và b.
- Để có thể sử dụng dụng thư viện Windows Socket, tệp thư viện cần khai báo cho quá trình liên kết là.
- Winsock.lib
- WS2_32.LIB
- WS2_32.DLL
- Winsock2.dll
- Nếu cần phải thiết kế một giao thức mới, ứng dụng sẽ phải tích hợp vào tầng nào của Windows Socket API
- Application
- Provider
- Transport Protocol
- Không tầng nào đúng.
- Công cụ đa năng, vừa có thể đóng vai trò client, vừa server, chạy trên giao thức TCP, UDP là.
- Netcat
- TCPDump
- Netstat
- Network Monitor
- Công cụ chuẩn đoán mạng dùng để hiển thị các kết nối hiện có trên máy tính là
- Wireshark
- TCPView
- Netcat
- Tất cả các công cụ trên
- Hàm nào sau đây thực hiện công việc khởi tạo Windows Socket
- WSStartup
- WinsockStartup
- SocketStartup
- WSAStartup
- Hàm nào sau đây sử dụng để giải phóng Windows Socket API.
- WSACleanup
- WSCleanup
- Cleanup
- Phương án khác:…
- Lệnh nào sau đây dùng để tạo một socket TCP
- socket(AF_INET,SOCK_STREAM,IPPROTO_TCP).
- socket(AF_INET,SOCK_DGRAM,IPROTO_TCP).
- Socket(AF_INET,SOCK_STREAM,IPPROTO_UDP)
- socket(AF_INET,SOCKSTREAM,IPPROTOTCP).
- Để chuyển đổi giá trị cổng từ đầu nhỏ sang đầu to, lệnh nào sau đây sẽ được sử dụng
- ntohl
- ntohs
- htonl
- htons
- Cấu trúc nào được sử dụng để khai báo địa chỉ socket internet:
- sock_addr
- sockaddr
- sockaddr_in
- sock_addr_in
- Các giá trị lớn hơn 01 byte trong cấu trúc lưu trữ địa chỉ của socket được tổ chức theo kiểu:
- Đầu to
- Đầu nhỏ
- Tùy trường hợp
- Để lấy mã lỗi của thao tác ngay trước đó. Hàm nào sau đây sẽ được sử dụng
- GetLastError
- WSAGetError
- WSAGetLastError
- WSALastError
- Để chuyển đổi một xâu sang địa chỉ IP, lệnh nào sau đây là đúng
- inet_ntoa(“192.168.1.1”);
- inet_aton(“192.168.1.1”);
- inet_addr(“192.168.1.1”);
- inet_stoi(“192.168.1.1”);
- Trong Windows Socket, với các hàm không có tiền tố WSA thì mã lỗi trả về là 0 có nghĩa là:
- Thành công
- Thất bại
- Tùy trường hợp
- Để chuyển đổi một địa chỉ IP lưu trong biến serverAddr lưu trữ địa chỉ socket sang dạng xâu ký tự, lệnh nào sau đây là đúng
- inet_ntos(serverAddr.sin_addr);
- inet_ntoa(serverAddr.s_addr);
- inet_itos(serverAddr.sin_addr);
- inet_ntoa(serverAddr.sin_addr);
- Đoạn chương trình sau thực hiện kết nối đến một server, điền vào vị trí <A>, <B>, <C> các lệnh còn thiếu.
ret = connect(s, (sockaddr*)&serverAddr,sizeof(serverAddr));
if (ret ==SOCKET_ERROR) {
printf(“Loi ket noi: %d”, <A>);
<B>;
<C>;
};
- <A>: GetLastError, <B>: closesocket (s), <C>: WSACleanup().
- <A>: WSAGetLastError(), <B> close(s), <C>: Cleanup().
- <A>: WSALastError(), <B>: closesocket(s), <C>: để trống.
- Không phương án nào đúng.
- Lệnh nào sau đây dùng để tạo một socket UDP
- socket(AF_INET,SOCK_UDP, IPPROTO_TCP).
- socket(AF_INET,SOCK_DGRAM,IPROTO_TCP).
- Socket(AF_INET,SOCK_STREAM,IPPROTO_UDP)
- Không lệnh nào đúng.
- Để thực hiện phân giải tên miền bằng WinSock, cần bổ sung tệp tiêu đề nào
- Winsock2.h
- Ws2_32.h
- Ws2ip.h
- Ws2tcpip.
Phần 2. Tự luận
(4đ – viết ra giấy tự chuẩn bị)
Viết chương trình FileClient sử dụng mô hình select làm nhiệm vụ sau:
- Kết nối đến server có địa chỉ/tên miền được nhập từ bàn phím.
- Nhận tên file từ bàn phím và gửi yêu cầu tải file đến server, cú phảp có dạng “GET <TenFile>\n”.
- Xử lý kết quả từ server
- Nếu server báo lỗi, thì dữ liệu gửi trả có dạng “FAILED\n<ThongBaoLoi>\n\n”.
- Nếu server báo thành công thì dữ liệu gửi trả có dạng “OK\n<FileSize>\n<NoiDungFile>\n\n”. Phân tích kết quả từ server và ghi nội dung file nhận được ra đĩa.
- Chương trình có thể tải nhiều file cùng một lúc.