Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 126 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
126
Dung lượng
7,03 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ HUỲNH ĐỨC PHÚ GIẢI PHÁP QUẢN TRỊ BẢO MẬT HỆ THỐNG MẠNG DỰA VÀO KỸ THUẬT ĐIỀU KHIỂN TRUY CẬP VÀ QUẢN LÝ LỖ HỔNG NGÀNH: KHOA HỌC MÁY TÍNH - 8480101 SKC006701 Tp Hồ Chí Minh, tháng 05/2020 Luan van BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ HUỲNH ĐỨC PHÚ GIẢI PHÁP QUẢN TRỊ BẢO MẬT HỆ THỐNG MẠNG DỰA VÀO KỸ THUẬT ĐIỀU KHIỂN TRUY CẬP VÀ QUẢN LÝ LỖ HỔNG NGÀNH: KHOA HỌC MÁY TÍNH - 8480101 Tp Hồ Chí Minh, tháng 05/2020 Luan van BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ HUỲNH ĐỨC PHÚ GIẢI PHÁP QUẢN TRỊ BẢO MẬT HỆ THỐNG MẠNG DỰA VÀO KỸ THUẬT ĐIỀU KHIỂN TRUY CẬP VÀ QUẢN LÝ LỖ HỔNG NGÀNH: KHOA HỌC MÁY TÍNH - 8480101 Hướng dẫn khoa học: TS HUỲNH NGUN CHÍNH Tp Hồ Chí Minh, tháng 5/2020 Luan van Luan van Luan van Luan van Luan van Luan van Luan van Luan van dev, errbuf); net = 0; mask = 0; } printf("Number of IPs will be captured : %ld\n", numOfIPs); /* Open capture device */ handle = pcap_open_live(dev, SNAP_LEN, 1, 1000, errbuf); if (handle == NULL) { fprintf(stderr, "Couldn't open device %s: %s\n", dev, errbuf); exit(EXIT_FAILURE); } if (pcap_datalink(handle) != DLT_EN10MB) { fprintf(stderr, "%s is not an Ethernet\n", dev); exit(EXIT_FAILURE); } /* Compile the filter expression */ if (pcap_compile(handle, &fp, filter_exp, 0, net) == -1) { fprintf(stderr, "Couldn't parse filter %s: %s\n", filter_exp, pcap_geterr(handle)); exit(EXIT_FAILURE); } /* Apply the compiled filter */ if (pcap_setfilter(handle, &fp) == -1) { fprintf(stderr, "Couldn't install filter %s: %s\n", filter_exp, pcap_geterr(handle)); exit(EXIT_FAILURE); } /* - Kết thúc bắt gói với Ctrl+C */ signal(SIGINT, terminal_pcaploop); /* - Tiến hành gọi hàm bắt gói (got_packet) - */ printf("\n\n \n"); printf(" \n"); printf("Capturing Packet \n\n"); /* Khai báo mảng địa khác (distinctSArr) */ distinctSArr = (char **)malloc((numOfIPs)*sizeof(char*)); /* Khai báo mảng chứa packet/IP */ numPksOfHostArr = (unsigned long *)malloc((numOfIPs)*sizeof(unsigned long)); demip =0, demtcp=0, demudp=0, demicmp=0, demunknown=0; lenSA = 0; startGotpacket=time(NULL); pcap_loop(handle, 0, got_packet, NULL); /* - Kết thúc chương trình khơng bắt gói tin */ if(lenSA==0){ printf("\nCaptured none Packet !\n"); return 0; } 88 Luan van //thoi gian ghi log time_t rawtime; time(&rawtime); printf("TimeLog: %s ", ctime(&rawtime)); printf("\n\nNumber Of Hosts : %ld \n", countDSA); start=clock(); // Xác định thời điểm bắt đầu tìm Hot-IP /* Đọc ma trận d-phân cách từ file */ int d = 3; // Số Hot-Ip tối đa phát int numOfGroup = 56; // Số nhóm thử unsigned long numOfColum =512; //4000;//numOfIPs; // Số IP short dMatrix[numOfGroup][numOfColum]; // Ma trân d-phân cách FILE *myReadFile; myReadFile = fopen("matran56_512n_d3.txt", "rt"); if(myReadFile==NULL){ printf("Cannot Open File.\n"); return 0; } else { for(unsigned long i = 0; i < numOfGroup; i++) { for(unsigned long j = 0; j < numOfColum; j++) { fscanf(myReadFile, "%hd", &dMatrix[i][j]); } } fclose(myReadFile); /* Tìm Hot-IP - */ unsigned long countArr[numOfGroup]; //Mảng C int rArrHot[numOfGroup]; R double dcompareHot = lenSA / (d + 1); printf("D compare Hot : %ld \n",(unsigned long)dcompareHot); printf("Total Packets : %.0f \n",lenSA); /* - Tính C R - */ for(unsigned long i=0; i