Tải bản đầy đủ (.docx) (16 trang)

ĐỀ THI và đáp án môn lập TRÌNH MẠNG

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (198.77 KB, 16 trang )

ĐỀ THI VÀ ĐÁP ÁN MÔN LẬP TRÌNH MẠNG

515

Thời gian: 60 phút – Không được phép dùng tài liệu
Điền trực tiếp kết quả vào phần trả lời trắc nghiệm

PHẦN TRẢ LỜI TRẮC NGHIỆM
1

2

3

4

5

6

7

8

9

10

11

12



13

14

15

16

17

18

19

20

21

22

23

24

25

26

27


28

29

30

31

32

33

34

35

36

37

38

39

40

41

42


43

44

45

PHẦN CÂU HỎI
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.DL

2. Để 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

3. 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ả

4. 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. ResourceMonitor

c. Wireshark
d. a và b.

5. 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. Cả ba đều sai.

6. 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

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

8. 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

9. 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

10. 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.

11. 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


12. 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

13. 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.

14. 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.

15. 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ý.
16. 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

17. 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.
18. 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:…

19. Để 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

20. Đ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.
a. ret = connect(s, (sockaddr*)&serverAddr,sizeof(serverAddr));


b. if (ret ==SOCKET_ERROR) {
c.
printf(“Loi ket noi: %d”, <A>);
d.
<B>;
e.

<C>;
f. };
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.

21. 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
22. 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).

23. 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.

24. 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

25. 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

26. Để 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”);

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. Để 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

29. Trong lời gọi hàm recv(s,buff,1024,0), giá trị 1024 có nghĩa là:

a. Số byte muốn nhận
b. Số byte tối đa muốn nhận.

c. Kích thước bộ đệm.
d. Cả b và c đều đú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.h

e.

f. Đoạn chương sau nhận về một xâu và gửi trả xâu theo thứ tự ngược lại. Điền vào các vị trí <A>,<B>,<C>,<D>,<E> các câu lệnh
thích hợp:

31.
32.
33.
34.
35.
e.
f.

g.
h.
i.

j.
k.
l.
m.
n.
o.
p.
q.
r.
s.

SOCKET s;
char
c, str[1024];
int i,len;
while (1)
{
len = recv(s,str,1024,0);
str[<A>] = 0;
for (i=0;i{
c = <B>;
str[i] = str[<C>];
str[len-i-1]=<D>;
};
send(<E>,str,len,0);
}
Câu lệnh thích hợp cho <A> là
a. len
c. 1024

b. i
d. 0
Câu lệnh thích hợp cho <B> là
a. str[0]
c. str[len-1]
b. str[len]
d. str[i]
Câu lệnh thích hợp cho <C> là
a. len/2
c. len-i
b. len-1
d. len-i-1
Câu lệnh thích hợp cho <D> là
a. c
c. str[0]
b. str[i]
d. str[i-1]
Câu lệnh thích hợp cho <E> là
a. c
c. len
b. s
d. i
Đoạn chương trình sau đọc nội dung một tệp tin và gửi đi qua kết nối c đã được thành lập.
Điền vào các vị trí <A> , <B>…các câu lệnh/giá trị thích hợp
g.
SOCKET
c;
h.
FILE * fp;
i.

char
buff[1024];
j.
int
len;
k.
fp = fopen("name.txt","rb");
l.
while (<A>)
m.
{
n.
len = fread(<B>,1,1024,<C>);
o.
if (len <=0)
p.
break;
q.
send(<D>,buff,<E>,0);


36.
37.
38.
39.
40.

r.
s.
t.


};
closesocket(c);
fclose(fp);
Giá trị thích hợp cho <A> là
a. fp
b. feof(fp)
Giá trị thích hợp cho <B> là
a. buff
b. fp
Giá trị thích hợp cho <C> là
a. buff
b. &buff
Giá trị thích hợp cho <D> là
a. s
b. &s
Giá trị thích hợp cho <E> là
a. 1024
b. len
e.

c. !fp
d. !feof(fp)
c. c
d. &buff
c. fp
d. &fp
c. fp
d. &fp
c. &len

d. 0.

Đáp án đề 515

f.
g.
v.

1

h.

2

i.

3

j.

4

l.

m.

n.

aa.


ab.

ac.

ad.

ae.

af.

ag.

ah.

ai.

aj.

6

7

8

o.

9

p.


10

q.

11

r.

12

s.

13

t.

14

u.

15

x.

ak.

al.

am.


an.

ao.

ap.

aq.

ar.

as.

at.

au.

av.

aw.

ax.

ay.

az.

ba.

bb.


bc.

bd.

be.

bf.

bg.

bh.

bi.

bj.

bk.

bl.

bm.

bn.

bo.

bp.

bq.


br.

bs.

bt.

bu.

bv.

bw.

bx.

by.

bz.

ca.

cb.

cc.

cd.

ce.

cf.


cg.

ch.

ci.

cj.

ck.

cl.

cm.

cn.

co.

cp.

cq.

cr.

16
d

31
a


b

17
b

32

d
cs.
ct.
cu.
cv.
cw.

b

18
a

33
d

d

19
c

34
a


z.

5

w.

d

y.

k.

b

20
d

35
b

a

21
a

36

d

22

a

37

a

23
d

38

c

24
c

39

d

25
a

40

b

26
c


41

a
c
a
b
ĐỀ dTHI MÔN
LẬP
TRÌNH
MẠNG

c

27
d

42

b

28
d

43

b

29
d


44

b

30
d

45

217

Thời gian: 60 phút – Không được phép dùng tài liệu
Điền trực tiếp kết quả vào phần trả lời trắc nghiệm
cx. PHẦN TRẢ LỜI TRẮC NGHIỆM

cy.

cz.

da.

db.

dc.

dd.

de.

df.


dg.

dh.

di.

dj.

dk.

dl.

dm.

ec.

ed.

ee.

ef.

eg.

eh.

ei.

ej.


ek.

el.

em.

en.

eo.

ep.

eq.

fg.

fh.

fi.

fj.

fk.

fl.

fm.

fn.


fo.

fp.

fq.

fr.

fs.

ft.

fu.

1
dn.
16
er.
31
fv.

2
do.
17
es.
32
fw.

3

dp.
18
et.
33
fx.

4
dq.
19
eu.
34
fy.

5
dr.
20
ev.
35
fz.

6
ds.
21
ew.
36
ga.

7
dt.
22

ex.
37
gb.

gl.

8
du.
23
ey.
38
gc.

9
dv.
24
ez.
39
gd.

10
dw.
25
fa.
40
ge.

gk.
PHẦN CÂU HỎI


11
dx.
26
fb.
41
gf.

12
dy.
27
fc.
42
gg.

13
dz.
28
fd.
43
gh.

14
ea.
29
fe.
44
gi.

15
eb.

30
ff.
45
gj.


41. 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.DL

42. 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. ResourceMonitor

c. Wireshark
d. a và b.

43. Để 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

44. Để 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

45. 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

46. 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

47. 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ả

48. 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. Wireshark

c. Cain

d. Cả ba đều sai.

49. 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

50. 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

51. 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


52. 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.

53. 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

54. 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.

55. 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.

56. 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ý.
57. 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

58. 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.
59. Để 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

60. 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:…

61. Để 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


62. Để 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_ntoa(serverAddr.sin_addr);
d. inet_itos(serverAddr.sin_addr);


63. 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).

64. 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.

65. Đ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.
a. ret = connect(s, (sockaddr*)&serverAddr,sizeof(serverAddr));
b. if (ret ==SOCKET_ERROR) {
c.
printf(“Loi ket noi: %d”, <A>);
d.
<B>;
e.

<C>;
f. };
e. <A>: GetLastError, <B>: closesocket (s), <C>: WSACleanup().
f. <A>: WSAGetLastError(), <B> close(s), <C>: Cleanup().
g. <A>: WSALastError(), <B>: closesocket(s), <C>: để trống.
h. Không phương án nào đúng.
66. Để 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”);

67. 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
68. 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

69. 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


70. Để 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.h

e. Đoạn chương trình sau đọc nội dung một tệp tin và gửi đi qua kết nối c đã được thành lập.
f. Điền vào các vị trí <A> , <B>…các câu lệnh/giá trị thích hợp
g.

h.
i.
j.
k.

SOCKET c;
FILE * fp;
char
buff[1024];
int
len;


l.
m.
n.

fp = fopen("name.txt","rb");
while (<A>)

{
o.
len = fread(<B>,1,1024,<C>);
p.
if (len <=0)
q.
break;
r.
send(<D>,buff,<E>,0);
s.
}7s
t.
closesocket(c);
u.
fclose(fp);
71. Giá trị thích hợp cho <A> là
a. fp
c. !fp
b. feof(fp)
d. !feof(fp)
72. Giá trị thích hợp cho <B> là
a. buff
c. c
b. fp
d. &buff
73. Giá trị thích hợp cho <C> là
a. buff
c. fp
b. &buff
d. &fp

74. Giá trị thích hợp cho <D> là
a. s
c. fp
b. &s
d. &fp
75. Giá trị thích hợp cho <E> là
a. 1024
c. &len
b. len
d. 0.
e. Đoạn chương sau nhận về một xâu và gửi trả xâu theo thứ tự ngược lại. Điền vào các vị trí <A>,<B>,<C>,<D>,<E> các câu lệnh
thích hợp:
f. SOCKET s;
g. char
c, str[1024];
h. int i,len;
i. while (1)
j. {
k.
len = recv(s,str,1024,0);
l.
str[<A>] = 0;
m.
for (i=0;in.
{
o.
c = <B>;
str[i] = str[<C>];
str[len-i-1]=<D>;

p.
};
q.
send(<E>,str,len,0);
r. }
76. Câu lệnh thích hợp cho <A> là
a. len
c. 1024
b. i
d. 0
77. Câu lệnh thích hợp cho <B> là
a. str[0]
c. str[len-1]
b. str[len]
d. str[i]
78. Câu lệnh thích hợp cho <C> là
a. len/2
b. len-1


c. len-i
79. Câu lệnh thích hợp cho <D> là
a. c
b. str[i]
80. Câu lệnh thích hợp cho <E> là
a. c
b. s
d.
e.
f.


d. len-i-1
c. str[0]
d. str[i-1]
c. len
d. Phương án a và b.
85. 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
l.
m.
n.
o.
p.
q.
r.
s.
b. Provider
5
6
7
8
9
10
11
12
c. Transport Protocol
aa.

ab.
ac.
ad.
ae.
af.
ag.
ah.
d. Không tầng nào đúng
d
b
d
b
a
a
c
d
86. Công cụ dùng để bắt các gói tin gửi ra và vào một giao
ap.
aq.
ar.
as.
at.
au.
av.
aw.
diện mạng của máy tính là
20
21
22
23

24
25
26
27
a. Netcat
be.
bf.
bg.
bh.
bi.
bj.
bk.
bl.
b. Network Monitor
b
c
c
a
d
d
c
a
c. Cain
bt.
bu.
bv.
bw.
bx.
by.
bz.

ca.
d. Không phương án nào đúng.
35
36
37
38
39
40
41
42
87.
Công
cụ đa năng, vừa có thể đóng vai trò client, vừa
ci.
cj.
ck.
cl.
cm.
cn.
co.
cp.
server,
chạy trên giao thức TCP, UDP là.
b
a
d
d
a
b
a. Netcat

ct. gian: 90 phút – Không được phép dùng tài liệu
Thời
b. TCPDump
c. Netstat
cu.
cv.
Phần 1. Trắc nghiệm
d. Network Monitor
cw.
88.
WSADATA
là cấu trúc dùng để
(6đ – tô kết quả vào phiếu trả lời trắc nghiệm)
cx.
a. Truyền thông tin về phiên bản WinSock mà ứng
81. Thư viện liên kết động của Windows Socket có tên là:
dụng muốn khởi tạo
a. WinSock.DLL
b. Nhận thông tin về phiên bản WinSock có trên hệ
b. WinSock2.DLL
thống.
c. WS2.DLL
c. Cả hai đáp án đều sai.
d. WS2_32.DLL
89. Để có thể sử dụng thư viện Windows Socket, tệp tiêu đề
cần khai báo là:
82. 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. Winsock.h
a. Ping

b. Winsock2.h
b. Nslookup
c. Ws2_32.h
c. Netstat
d. Ws2.h
d. Ipconfig
90. 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à
83. 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. TCP
a. Có
b. IP
b. Không
c. ICMP
c. Tùy từng trường hợp, nếu được tổ chức hợp lý.
d. UDP
84. Công cụ dùng để theo dõi tài nguyên sử dụng của máy
91. Dịch vụ phân giải tên miền chạy ở tầng nào trong các
tính trên hệ điều hành Windows là
tầng sau đây
a. Task Manager
a. Application
b. Resource Monitor
b. Transport
c. Wireshark
c. Internetwork

g. Đáp án đề 217


k.
z.

4
b

ao.

19

bd.

d

bs.

34

ch.

a

ĐỀ THI GIỮA KỲ MÔN LẬP TRÌNH MẠNG

247


d. Datalink
92. 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
93. 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.
94. Để 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
95. 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.
b.
c.
d.

Application
Provider
Transport Protocol

Không tầng nào đúng.
96. 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
97. 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.
98. 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
e.


99. 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:…
100.

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).
101.
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
102.
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
103.
Để 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
104.
Để 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”);
105.
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
106.
Đ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.
107.
ret = connect(s,
(sockaddr*)&serverAddr,sizeof(serverAddr));

a.
b.
c.
d.

117.
118.
119.

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
blocking làm nhiệm vụ sau:


108.
109.

if (ret ==SOCKET_ERROR) {
printf(“Loi ket noi: %d”, <A>);
110.
<B>;
111.
<C>;
112.
};
i. <A>: GetLastError, <B>: closesocket (s), <C>:
WSACleanup().
j. <A>: WSAGetLastError(), <B> close(s), <C>:
Cleanup().
k. <A>: WSALastError(), <B>: closesocket(s), <C>:
để trống.
l. Không phương án nào đúng.
113.
Để 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);
114.
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.
115.
Để 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
116.
Để 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.

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

d. Không phương án nào đúng.
“FAILED\n<ThongBaoLoi>\n\n”.

128.
Nếu cần phải viết một ứng dụng cần tính đáp
b. Nếu server báo thành công thì dữ liệu gửi trả có
ứng nhanh và chấp nhận sai sót. Giao thức lựa chọn sẽ là
dạng
“OK\n<FileSize>\n<NoiDungFile>\n\n”.
a. TCP
Thời
gian:
– Không
được phép dùng tài liệu
Phân tích kết quả
từ server
và 90
ghi phút
nội dung
file
b. IP
nhận được ra đĩa.
c. ICMP
4. Chương trình có thể tải nhiều file cùng một lúc,
từ nhiều
Phần
1. Trắc nghiệm
d. UDP
server.
(6đ


kết

quả
vào
phiếu
trả
lời
trắcDịch
nghiệm)
129.
vụ phân giải tên miền chạy ở tầng nào
120.
trong các tầng sau đây
121.
Thư viện liên kết động của Windows Socket có
a. Application
tên là:
b. Transport
a. WinSock.DLL
c. Internetwork
b. WinSock2.DLL
d. Datalink
c. WS2.DLL
130.
Công cụ nào sử dụng để kiểm tra hoạt động của
d. WS2_32.DLL
một máy chủ phân giải tên miền
122.
Biên của thông điệp trong các giao thức hướng
a. Ping
dòng có được bảo toàn hay không ?
b. Nslookup

a. Có
c. Netstat
b. Không
d. Ipconfig
c. Tùy từng trường hợp, nếu được tổ chức hợp lý.
131.
Giao thức nào được sử dụng để chia sẻ một địa
123.
Nếu cần phát triển thêm trình điều khiển cho
chỉ
toàn
cục
cho một nhóm các máy tính trong mạng LAN.
một loại thiết bị mới. Ứng dụng sẽ phải viết ở tầng nào
a. VLAN
của Windows Socket
b. MAC
a. Application
c. NAT
b. Provider
d. Không đáp án nào đúng
c. Transport Protocol
132.
Trong một mạng máy tính được chia sẻ chung
d. Không tầng nào đúng
một
địa
chỉ
IP toàn cục. Thiết lập nào sau đây sẽ cho phép
124.

Công cụ dùng để bắt các gói tin gửi ra và vào
một
máy
tính
từ Internet chủ động kết nối đến một máy
một giao diện mạng của máy tính là
chủ trong mạng.
a. Netcat
a. DMZ
b. Network Monitor
b. Virtual Server
c. Cain
c. Port Forwarding
d. Không phương án nào đúng.
d. Cả ba phương án trên.
125.
WSADATA là cấu trúc dùng để
133.
Công cụ dùng để theo dõi tài nguyên sử dụng của
a. Truyền thông tin về phiên bản WinSock mà ứng
máy tính trên hệ điều hành Windows là
dụng muốn khởi tạo
a. Task Manager
b. Nhận thông tin về phiên bản WinSock có trên hệ
b. Resource Monitor
thống.
c. Wireshark
c. Cả hai đáp án đều sai.
d. Phương án a và b.
126.

Để có thể sử dụng thư viện Windows Socket, tệp
134.
Để có thể sử dụng dụng thư viện Windows
tiêu đề cần khai báo là:
Socket,
tệp
thư viện cần khai báo cho quá trình liên kết là.
a. Winsock.h
a.
Winsock.lib
b. Winsock2.h
b. WS2_32.LIB
c. Ws2_32.h
c. WS2_32.DLL
d. Ws2.h
d. Winsock2.dll
127.
Trình điều khiển cho một thiết bị mạng sẽ được
135.
Nếu cần phải thiết kế một giao thức mới, ứng
chạy ở chế độ
dụng
sẽ
phải
tích hợp vào tầng nào của Windows Socket
a. User Mode
API
b. Kernel Mode
a. Application
c. System Mode

b. Provider

ĐỀ THI GIỮA KỲ MÔN LẬP TRÌNH MẠNG

132


c. Transport Protocol
d. Không tầng nào đúng.
136.

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
137.
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

138.

b. TCPView
c. Netcat
d. 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

a. WSStartup
b. WinsockStartup
c. SocketStartup
d. WSAStartup

139.


140.

a.
b.
c.
d.

Hàm nào sau đây sử dụng để giải phóng Windows Socket API.
WSACleanup
WSCleanup
Cleanup
Phương án khác:…

141.

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).
142.
Để 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
143.
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
144.
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
145.
Để 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
146.
Để 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”);
147.
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.
b.
c.
d.

a. Thành công
b. Thất bại
c. Tùy trường hợp
148.

Để 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);
149.
Đ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.
150.
ret = connect(s,
(sockaddr*)&serverAddr,sizeof(serverAddr));
151.

if (ret ==SOCKET_ERROR) {
152.
printf(“Loi ket noi: %d”, <A>);
153.
<B>;
154.
<C>;
155.
};
m. <A>: GetLastError, <B>: closesocket (s), <C>:
WSACleanup().
n. <A>: WSAGetLastError(), <B> close(s), <C>:
Cleanup().
o. <A>: WSALastError(), <B>: closesocket(s), <C>:
để trống.
p. Không phương án nào đúng.
156.
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.
157.
Để 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.



158.
159.

Phần 2. Tự luận

(4đ – viết ra giấy tự chuẩn bị)

160.
Viết chương trình FileClient sử dụng mô hình select làm nhiệm vụ sau:
5. Kết nối đến server có địa chỉ/tên miền được nhập từ bàn phím.
6. 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”.
7. 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.

8. Chương trình có thể tải nhiều file cùng một lúc.
161.



×