SLIDE1

Sunday, October 4, 2015

[c/c++] tìm từ dài nhất trong chuỗi

//code c tìm từ dài nhất trong 1 chuỗi ký tự nhập vào

#include"stdio.h"
#include"conio.h"
#include"string.h"
char *max(char *s)    
{
   char c[100], a[100];
   int i, j, k, max = 0;
   i = 0;  
   while (s[i]!='\o')//s[i] không phải là kí tự cuối cùng
   {
       j = 0; 
       if (s[i] != ' ')//nếu ký tự đang xét khác kí tự trắng
   { 
   while (s[i] != '\o')   //lặp với số lần không biết trước nên dùng while
   {//khi kí tự còn khác kí tự trắng
       if (s[i] == ' ') break;   //điều kiền để kết thúc vòng lặp while là gặp kí tự trắng
       c[j] = s[i];//dùng mảng chuổi c để lưu các kí tự thỏa và tăng i,j lên 1 đơn vị
       j++; i++;//trong vòng lặp đã có lệnh i++; rồi nên khi copy xong không cần dùng lệnh i++;
       //để thực hiện vòng lặp nữa
   } 
   c[j] = '\o';           //kí tự cuối cùng phải là kí tự kết thúc để chuổi có nghĩa
   if (max < strlen(c))  //nếu nó là chuổi dài hơn chuỗi max thì gán giá trị cho max
   {//copy chuỗi vào chuỗi a để lưu
       max = strlen(c);
       gets_s(a, c);
   }
}
else i++;  //nếu ban đầu nó là kí tự trắng thì tăng i để tiếp tục lặp
}    
   return a;
}
void main()
{
   char s[255];
   printf("nhap chuoi: "); fflush(stdin); gets_s(s);
   printf("tu dai nhat: %s\n", max(s));
}

hướng dẫn sử dụng wireshark

1. giới thiệu wireshark

Các giao thức mạng có thể được hiểu sâu hơn bằng cách quan sát chuỗi các thông điệp trao đổi giữa hai máy tính, nghiên cứu sâu các hành động của giao thức trong những trường hợp cụ thể. Điều này có thể đạt được bằng cách thực hiện các kịch bản mô phỏng trong môi trường mạng thực tế như Internet. Trong các bài thực hành Wireshark, chúng ta sẽ chạy nhiều ứng dụng mạng trong các kịch bản khác nhau sử dụng máy tính cá nhân trên môi trường mạng Internet.
Trong bài thực hành đầu tiên, chúng ta sẽ làm quen với Wireshark và thực hiện bắt các gói tin cơ bản, sau đó quan sát chúng.
Công cụ để quan sát các thông điệp trao đổi giữa các máy tính được gọi là công cụ bắt trộm gói tin (packet sniffer). Các công cụ này bắt trộm các gói tin được gửi đi hoặc nhận về máy tính. Chúng hoạt động ẩn bên dưới và không gửi bất kỳ gói tin nào. Các gói tin bị bắt trộm chỉ là bản sao chép của gói tin chính.
Hình 1 cho thấy cấu trúc của công cụ bắt trộm gói tin. Bên phải hình 1 là các giao thức (các giao thức trên Internet) và các ứng dụng (như là web browser và ftp client) chạy trên máy tính của chúng ta. Công cụ bắt trộm gói tin được thể hiện trong hình chữ nhật nét đứt là một phần mềm trên máy tính gồm có 2 phần. Thư viện bắt gói tin nhận bản sao của mỗi frame trên tầng liên kết dữ liệu được gửi đi hoặc nhận về máy tính. Nhắc lại rằng các thông điệp được trao đổi bởi các giao thức tầng cao hơn như HTTP, FTP, TCP, UDP, DNS hoặc IP đều được đóng gói trong frame ở tầng liên kết dữ liệu. Trong hình, môi trường truyền dẫn vật lý được giả định là Ethernet nên các gói tin ở các giao thức tầng trên đều được đóng gói trong Ethernet frame. Việc bắt các frames giúp chúng ta quan sát tất cả các thông điệp được gửi đi và nhận về máy tính của mình.
Hình 1: Cấu trúc của công cụ bắt trộm gói tin

Thành phần thứ 2 của một công cụ bắt trộm gói tin chính là bộ phân tích gói. Bộ phân tích gói có nhiệm vụ hiển thị nội dung của các trường trong một gói tin. Để làm được điều đó, bộ phân tích gói phải hiểu cấu trúc của tất cả các gói tin được trao đổi bởi các giao thức. Ví dụ, giả sử chúng ta quan tâm đến nội dung các trường trong các thông điệp của giao thức HTTP. Bộ phân tích gói phải hiểu định dạng của Ethernet frames, IP datagram, TCP segment và cuối cùng rút trích nội dung của thông điệp HTTP chứa trong TCP segment. Ngoài ra, bộ phân tích gói cũng hiểu giao thức HTTP và biết được các bytes đầu tiên trong thông điệp HTTP chứa chuỗi “GET”, “POST” hoặc “HEAD”.
Chúng ta sẽ sử dụng công cụ Wireshark [http://www.wireshark.org/] cho các bài thực hành. Nó cho phép chúng ta quan sát nội dung của các thông điệp được trao đổi bởi các giao thức tại các tầng khác nhau. Wireshark là một công cụ phân tích giao thức mạng miễn phí chạy trên Windows, Linux/Unix và Mac. Chúng ta có thể tìm đọc thêm các hướng dẫn về Wireshark tại địa chỉ:
 
http://www.wireshark.org/docs/wsug_html_chunked/
hoặc http://www.wireshark.org/docs/man-pages/
và các câu hỏi thường gặp tại  
http://www.wireshark.org/faq.html
Để chạy Wireshark, chúng ta phải cài Wireshark và thư viện bắt gói tin libpcap hoặc winPCap. Nếu thư viện libpcap chưa có trên máy tính, nó sẽ được cài trong quá trình cài Wireshark. Địa chỉ download: http://www.wireshark.org/download.html
Khi khởi động Wireshark, chúng ta sẽ thấy giao diện sau:
Hình 2: Giao diện khởi động Wireshark

Nhìn vào góc trên bên trái của giao diện, chúng ta sẽ thấy “Interface list”. Đây là danh sách của các network interfaces trên máy tính. Sau khi chọn một interface, Wireshark sẽ bắt tất cả các gói tin đi qua interface đó. Trong ví dụ ở trên, có một Ethernet interface và một Wireless interface.
Nếu click vào một trong những interfaces đó để bắt đầu bắt gói tin, một màn hình hiện ra như bên dưới, hiển thị thông tin về các gói tin bị bắt. Sau khi đã bắt gói tin, chúng ta có thể dừng lại bằng cách chọn Stop trên thanh menu.
Hình 3: Giao diện chính của Wireshark trong suốt quá trình bắt và phân tích gói tin

Giao diện Wireshark gồm có 5 thành phần chính:
·           Command menus: chứa các menu thực hiện các chứng năng chính của Wireshark. Chúng ta quan tâm đến File và Capture. File menu cho phép lưu các gói tin đã bị bắt hoặc mở file chứa các gói tin đã bắt từ trước. Capture menu cho phép bắt đầu bắt gói tin.
·           Packet-listing windows: hiển thị dòng thông tin tóm tắt cho từng gói tin bị bắt, bao gồm số thứ tự (số này được gán bởi Wireshark, không phải số thứ tự chứa trong header của gói tin), thời gian gói tin bị bắt, địa chỉ nguồn và đích, loại giao thức và thông tin đặc tả cho giao thức đó. Chúng ta có thể sắp xếp các dòng theo các tiêu chí bằng cách nhấp vào tên các cột tương ứng. Cột Protocol hiển thị giao thức hoạt động ở tầng cao nhất.
·           Packet-header details window: cung cấp các thông tin chi tiết về gói tin được chọn từ packet-listing window. Các thông tin này bao gồm chi tiết về Ethernet frame (giả sử gói tin được gửi và nhận thông qua Ethernet interface), IP datagram, TCP hoặc UDP segment. Cuối cùng, thông tin về giao thức ở tầng cao nhất cũng được hiển thị.
·           Packet-contents window hiển thị toàn bộ nội dung của frame dưới dạng ASCII và hexadecimal.
·           Hướng lên trên của giao diện Wireshark là packet-display filter. Tên giao thức và các thông tin khác có thể được nhập vào đây để lọc các gói tin trong packet-listing window. Ví dụ, chúng ta sử dụng packet-display filter để Wireshark ẩn tất cả các gói tin bắt được ngoại trừ những gói tin tương ứng với HTTP bằng cách gõ “http” vào khung này và chọn Apply.

2. hướng dẫn sử dụng

Chú ý rằng nếu chúng ta không thể chạy Wireshark trên Internet thật sự thì có thể mở file Wireshark_intro có sẵn trong thư mục wireshark-traces.
Giả định rằng máy tính chúng ta có kết nối Internet. Thực hiện các bước sau
·           Khởi động Web browser.
·           Khởi động phần mềm Wireshark.
·           Chọn Capture và chọn Interfaces.
Hình 4: Wireshark Capture Interface Window

·           Chọn Start đối với interface mà chúng ta muốn bắt gói tin. Lúc này Wireshark bắt đầu bắt tất cả các gói tin được gửi đến hoặc nhận về máy tính.
·           Sau khi đã bắt đầu bắt gói tin, một cửa sổ hiện ra như trong hình 3. Cửa sổ này hiển thị các packet đang được bắt. Chọn menu Capture và sau đó chọn Stop khi chúng ta muốn dừng bắt gói tin. Tuy nhiên, đừng dừng bắt lúc này vì chúng ta nên thử với một kết nối HTTP.
·           Trong khi Wireshark đang hoạt động, trên web browser, gõ: http://gaia.cs.umass.edu/wireshark-labs/INTRO-wireshark-file1.html và website sẽ hiện ra trên trình duyệt. Lúc này các Ethernet frames chứa các thông điệp HTTP đã được bắt bởi Wireshark.
·           Sau khi trình duyệt đã hiển thị trang INTRO-wireshark-file1.html (chỉ là một dòng chào mừng đơn giản), dừng bắt gói tin. Cửa sổ chính của Wireshark bây giờ giống như hình 3. Chúng ta đã có các gói tin chứa đầy đủ các thông điệp được trao đổi giữa máy tính và web server. Thông điệp HTTP trao đổi với gaia.cs.umass.edu web server phải xuất hiện đâu đó trong các gói tin được bắt. Có nhiều loại gói tin được hiển thị (tương ứng với nhiều giao thức). Mặc dù chúng ta chỉ đơn thuần download một trang web nhưng có nhiều giao thức khác chạy bên dưới mà chúng ta không thấy được.
·           Gõ “http” (không có ngoặc kép) vào packet-display filter sau đó chọn Apply để Wireshark chỉ hiển thị các thông điệp HTTP trong packet-listing window.  
·           Tìm thông điêp HTTP GET được gửi từ máy tính đến gaia.cs.umass.edu server (tìm trong packet-listing window đoạn chứa GET theo sau bởi gaia.cs.umass.edu). Sau khi chọn thông điệp HTTP GET, Ethernet frame, IP datagram, TCP segment và HTTP header sẽ được hiển thị ở packet-header window.
Hình 5: Cửa sổ Wireshark sau bước 9

Saturday, October 3, 2015

hướng dẫn cấu hình microsoft outlook để quản lý mail

cài đặt cấu hình outlook để quản lý mail

1.     Cài đặt ở gmail

Đăng nhập vào gmail và vào phần cài đặt chuyển tiếp/POP/IMAP…….. để bật POP để ứng dụng outlook có thể tải mail về

2.     Cài đặt trong outlook

Mở outlook lên và chọn tool -> account setting để mở hộp thoại cài đặt tài khoản email cho ứng dụng outlook



Trong tab e=mail chọn new để cài đặt e-mail mới


Chọn dịch vụ mail POP3, SMTP và chọn next


Chọn Click chọn checkbox Manually configure server setttings or additional server types, rồi chọn Next. Vì mình đang không sử dụng chức năng auto của ứng dụng mà là tự cài đặt thong số phương thức dịch vụ để nhận mail.


ở đây đang sử dụng email của google nên chọn internet mail để quản lý tài khoản email



Tiếp theo cấu hình như sau:
Your name: tên người dung
Email address: địa chỉ email cần quản lý
Account type: POP3
Incoming mail server: pop.gmail.com (server để nhận mail)
Outgoing mail server: smtp.gmail.com (server để gởi mail)
ở đây đang sử dụng e mail của google nên nhập các server như trên, nếu dung các dịch vụ mail khác thì sẽ có các server khác do nhà cung cấp dịch vụ đó cung cấp, thường  có dạng pop.domain.com và smtp.domain.com.
Cuối cùng là nhập password.

3.     Kết quả.





Friday, October 2, 2015

các cổng logic cơ bản OR, AND, NOT

cổng logic OR

ký hiệu cho cổng logic OR là dâu +, ví dụ C = A or B ký hiệu là C=A+B


cổng logic AND

thực hiện tương tự như phép nhân, ký hiệu A AND B là A.B


cổng logic NOT

là cổng mà nó sẽ đảo ngược giá trị của cổng hiện thời, 1 -> 0, 0->1, cổng luôn có 1 input và 1 out put với giá trị out put là đảo ngược của giá trị in put

mô tả mạch logic đại số

- nếu 1 mạch logic có cả 2 cổng AND và OR thì nó sẽ thực hiện AND trước, OR sau trừ khi có dấu ngoặc ngăn cách để chỉ cái nào thực hiện trước, cái nào thực hiện sau
- có bất kỳ 1 cổng NOT nào trong mạch thì giá trị out put tương đương với in put và có kèm thanh ngang trên đầu

quy tắc đánh giá 1 biểu thức boolean

- thực hiện NOT đối với in put đơn trước
- thực hiện các phép tính trong ngoặc
- thực hiện cổng AND trước rồi mới đến cổng OR
- nếu cả biểu thức có dấu thanh ngang trên đàu thì thực hiện bên trong trước rồi đổi dấu kết quả tìm được là xong
- caacsh tốt nhất để đánh giá là sử dụng bảng sự thật
+cho phép chúng ta đánh giá 1 cỏng và nhiều cổng có trong machj cùng 1 lúc
+dễ kiểm tra hoạt động cả mạch 1 cách chính xác
+ phát hiện và sử lý lỗi có trong mạch 1 cách dễ dàng

Tuesday, September 29, 2015

các thiết bị liên kết mạng máy tính

card mạng:

- kết nối giữa máy tính và cáp mạng để phát hoặc nhận dữ liệu với máy tính khác
- kiểm soát luồng dữ liệu giữa máy tính và hệ thống cáp
- mỗi NIC (network interface adapter card) có 1 địa chỉ MAC duy nhất (media access control), MAC có 6 byte, 3 byte dầu là mã số nhà sản xuất, 3 byte sau là số serial của card .

modem:

- là viết tắt của 2 từ điều chế (MOdulation) và giải điều chế (DEModulation)
- điều chế tín hiệu số(digital) sang tín hiệu tương tự (analog) để gởi theo đường thoại và ngược lại.
- có 2 loại là internal và external.


repeater (bộ chuyển tiếp)

- khuếch đại, phục hồi các tín hiệu bị suy thoái do tổn thất năng lượng trong khi truyền
- cho phép mở rộng mạng vượt xa chiều dài giới hạn của môi trường truyền
- chỉ được dùng nối 2 mạng có cùng giao thức truyền thông
- hoạt động ở lớp physical 


HUB (bộ tập trung)

- chức năng như repeater nhưng mở rộng hơn với nhiều đầu cắm cáp mạng
- tạo ra điểm kết nối tập trung để nối mạng theo kiểu hình sao
- tín hiệu được phân phối đến tất cả các kết nối
- có 3 loại HUB: thụ động, chủ động, thông minh
+ HUB thụ động: chỉ đảm bảo tính năng kết nối, không xử lý tín hiệu
+ HUB chủ động: có khả năng xử lý tín hiệu để chống suy hao
+ HUB thông minh là HUB chủ động nhưng có thêm khả năng tạo ra các gói tin thông báo hoạt động của mình để dễ dàng quản trị mạng.

bridge (cầu nối)

- dùng để nối 2 mạng có giao thức giống hoạt khác nhau
- chia mạng thành nhiều phân đoạn nhằm giảm lưu lượng trên mạng
- hoạt động ở lớp datalink với 2 chức năng chính là lọc và vận chuyển
- dựa trên bảng địa chỉ MAC lưu trữ, bridge kiểm tra các gói tin và xử lý chúng trước khi có quyết dịnh đi hay không


switch (bộ chuyển mạch)

- là thiết bị giống HUB và bridge cộng lại nhưng thông minh hơn
- có khả năng chỉ chuyển dữ liệu đến đúng kết nối thực sự cần dữ liệu này để tránh đụng độ mạng
- dùng để phân đoạn mạng trong các mạng cục bộ lớn
- hoạt động ở lớp datalink


router ( bộ định tuyến)

- dùng để ghép nối các mạng cục bộ lại với nhau để thành mạng rộng
- lựa chọn đường đi tốt nhát cho các gói tin hướng đi ra mạng bên ngoài
- hoạt động chủ yếu ở lớp network
- có 2 phương thức định tuyến chính là: định tuyến tĩnh và định tuyến động


gateway ( proxy cổng nối)

- thường dùng đẻ nối các mạng không thuần nhất, chủ yếu là mạng LAN với mạng lớn bên ngoài chứ không dùng để nối LAN - LAN
- kiểm soát luồng dữ liệu ra vào mạng
- hoạt động phức tạp và chậm hơn router
- hoạt động ở tầng 4 -> 7

môi trường truyền dẫn mạng máy tính

môi trường truyền dẫn mạng máy tính:
- là các phương tiện vật lý cho phép truyền tải tín hiệu giữa các thiết bị
- 2 loại phương tiện truyền dẫn chính là hữu tuyến và vô tuyến
- hệ thống sử dụng 2 loại tín hiệu là digital và analog

các đặc tính của phương tiện truyền dẫn

chi phí, yêu cầu cài đặt, băng thông, băng tần, độ suy dần, nhiễu điện từ, nhiễu xuyên kênh

các phương tiện truyền dẫn hay sử dụng: cáp đồng trục, cáp xoắn đôi, cáp quang, wireless







thông số cơ bản 1 số loại cáp

wireless:

là môi trường truyền dẫn không dây, thông qua 1 só kỹ thuật như radio, microwave,infraged, lightwave

giao thức truy cập đường truyền trên mạng LAN

Hai loại giao thức: ngẫu nhiên và có điều khiển
-Ngẫu nhiên: giao thức chuyển mạch với giao thức đường dây đa truy cập với cảm nhận va chạm
-Có điều khiển: giao thức dùng thẻ bài vòng với giao thức dùng thẻ bài cho dạng đường thẳng

giao thức chuyển mạch:

khi máy tính yêu cầu nó sẽ được truy cập vào đường cáp nếu mạng không bận, ngược lại sẽ bị từ chối

giao thức đường dây đa truy cập với cảm nhận va chạm:

gói dữ liệu chỉ được gởi nếu đường truyền rãnh, ngược lại mõi trạm phải đợi theo 1 trong 3 phương thức:
1.chờ đợi 1 thời gian ngẫu nhiên rồi lại bắt đầu kiểm tra đường truyền
2.kiểm tra đường truyền liên tục cho đến khi đường truyền rãnh
3. kiểm tra đường truyền với xác suất p (0<p<1)

giao thức dùng thẻ bài vòng:

thẻ bài là 1 đơn vị dữ liệu đặc biệt, có 1 bit để biểu diễn trạng thái mạng bận hay rảnh, nó chạy vòng quanh trong mạng, trạm nào nhận được thẻ bài rãnh thì có thể truyền dữ liệu

giao thức dùng thẻ bài cho dạng đường thẳng:

tạo ra 1 vòng logic ảo và thực hiện giống dạng thẻ bài vòng

cấu trúc vật lý của mạng LAN


dạng đường thẳng (Bus topology)

1. ưu điểm:
dẽ cài đặt và sử dụng, chi phí thấp, 1 máy hỏng không ảnh hưởng đến các máy khác,
2. hạn chế:
khó quản trị và tìm nguyên nhân lỗi, giới hạn chiều dài cáp và số lượng máy tính, hiệu năng giảm khi có máy tính được thêm vào , 1 đoạn cáp backbone bị đức sẽ ảnh hưởng đến toàn mạng.

dạng vòng tròn (ring topology)

1. ưu điểm:
sự phát triển của hệ thống không tác động đến hiệu năng, tất cả các máy tính có quyền truy cập như nhau
2. hạn chế:
chi phí thưc hiện cao, phúc tạp, khi 1 máy có sự cố thì ảnh hưởng đến các máy tính khác

dạng hình sao (star topology )

1. ưu điểm:
dễ dàng bổ sung hay loại bớt máy tính, dễ theo dõi và giải quyết sự cố, có thể phù hợp với nhiều loại cáp khác nhau
2. hạn chế
khi HUB không làm việc thì toàn mạng cũng không làm việc, sử dụng nhiều cáp


Phương thức nối mạng

nối mạng có 2 phương thức phổ biến là point-to-point và broadcast

point - to - point:

các đường truyền riêng biệt được thiết lập để nối các máy tính lại với nhau, 1 điểm - 1 điểm

broadcast:

tất cả các trạm được phân chia chung 1 đường truyền vật lý, 1 điểm - nhiều điêm

Sunday, September 27, 2015

Mô hình mạng OSI

mô hình mạng OSI gồm 7 tầng

physical:

truyền dẫn nhị phân: dây, đầu nối, điện áp, tốc độ truyền dữ liệu, phương tiện truyền dẫn, chế độ truyền dẫn

datalink:

điều khiển liên kết, truy xuất đường truyền: đóng frame, ghi địa chỉ vật lý, điều khiển luồng, thông báo lỗi, kiểm soát lỗi

Saturday, September 26, 2015

tổng quan về mạng máy tính

Khái niệm về mạng máy tính

là 1 tập hợp của các máy tính độc lập được kết nối với nhau theo 1 cấu trúc nào đó.
2 máy tính được gọi là kết nối với nhau nếu chúng có thể trao đổi thông tin
các kết nối có thể là dây đồng, cáp quang, sóng ngắn truyền vệ tinh,...

Sunday, September 13, 2015

các hệ thống số cơ bản, nhị phân, bát phân, thập lục phân, thập phân

các hệ thống số cơ bản


thập phân:

gồm các chữ số 0,1,2,3,4,5,6,7,8,9
ví dụ: 576.348 = 5*10^2 + 7*10^1 + 6*10^0 + 3*10^-1 + 4*10^-2 + 8*10^-3

Saturday, September 12, 2015

mô hình dữ liệu thực thể mối kết hợp

được GHEN giới thiệu năm 1976, là mô hình dữ liệu được sử dụng nhiều nhất ở mức qan niệm


định nghĩa:

- loại thực thể là những loại đối tượng hay sự vật của thế giới tồn tại thực cần được quản lý. ví dụ học viên,..
- thực thể làlà 1 thể hiện của loại thực thể ví dụ thông tin về 1 học viên

mô hình dữ liệu mạng

còn gọi tắt là mô hình mạng hoặc mô hình lưới: là mô hình được biểu diễn bởi 1 đồ thị có hướng gồm có mẫu tin, loại mẫu tin, loại liên hệ, bản số.

mẫu tin

mô tả 1 đối tượng trong thế giới thực

loại mẫu tin 

là 1 tập các mẫu tin có cùng tính chất, ví dụ nhân viên, học sinh

các khái niệm của hệ cơ sở dữ liệu CSDL

định nghĩa cơ sở dữ liệu


cơ sở dữ liệu là hệ thống thông tin có cấu trúc được lưu  trữ trên các thiết bị lưu trữ nhằm thỏa mãn yêu cầu khai thác thông tin đồng thời của nhiều người hay nhiều chương trình ứng dụng với những mục đích khác nhau.