📄 jiemian.c
字号:
label=gtk_label_new(" HTTP ");
gtk_widget_show(label);
gtk_notebook_append_page(GTK_NOTEBOOK(text_notebook),hbox,label);
//=================设置事件显示页面==================//
listvbox=gtk_vbox_new(FALSE,0);
gtk_container_set_border_width(GTK_CONTAINER(vbox),5);
label=gtk_label_new(" Alert Event ");
gtk_widget_show(label);
gtk_notebook_append_page(GTK_NOTEBOOK(text_notebook),listvbox,label);
gtk_widget_show(listvbox);
scrolled_window=gtk_scrolled_window_new(NULL,NULL);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled_window),GTK_POLICY_AUTOMATIC,GTK_POLICY_ALWAYS);
gtk_box_pack_start(GTK_BOX(listvbox),scrolled_window,TRUE,TRUE,0);
gtk_widget_show(scrolled_window);
clist_event=gtk_clist_new(11);
gtk_object_set_data(GTK_OBJECT(window),"clist_event",clist_event);
gtk_widget_ref(clist_event);
gtk_object_set_data_full(GTK_OBJECT(window),"clist_event",clist_event,(GtkDestroyNotify)gtk_widget_unref);
gtk_clist_set_shadow_type(GTK_CLIST(clist_event),GTK_SHADOW_IN);
gtk_clist_set_column_title(GTK_CLIST(clist_event),0,"Time");
//显示时间
gtk_clist_set_column_title(GTK_CLIST(clist_event),1,"Event Name");
gtk_clist_set_column_title(GTK_CLIST(clist_event),2,"Source MAC");
gtk_clist_set_column_title(GTK_CLIST(clist_event),3,"Destination MAC");
gtk_clist_set_column_title(GTK_CLIST(clist_event),4,"Source IP");
gtk_clist_set_column_title(GTK_CLIST(clist_event),5,"Destination IP");
gtk_clist_set_column_title(GTK_CLIST(clist_event),6,"Event Protocol");
gtk_clist_set_column_title(GTK_CLIST(clist_event),7,"Event Code");
gtk_clist_set_column_title(GTK_CLIST(clist_event),8,"Event Defination");
gtk_clist_set_column_title(GTK_CLIST(clist_event),9,"Event Information");
gtk_clist_set_column_title(GTK_CLIST(clist_event),10,"Alert Type");
//显示事件响应方式
gtk_clist_column_titles_show(GTK_CLIST(clist_event));
gtk_clist_set_column_width(GTK_CLIST(clist_event),0,200);
gtk_clist_set_column_width(GTK_CLIST(clist_event),1,100);
gtk_clist_set_column_width(GTK_CLIST(clist_event),2,100);
gtk_clist_set_column_width(GTK_CLIST(clist_event),3,100);
gtk_clist_set_column_width(GTK_CLIST(clist_event),4,100);
gtk_clist_set_column_width(GTK_CLIST(clist_event),5,100);
gtk_clist_set_column_width(GTK_CLIST(clist_event),6,100);
gtk_clist_set_column_width(GTK_CLIST(clist_event),7,100);
gtk_clist_set_column_width(GTK_CLIST(clist_event),8,100);
gtk_clist_set_column_width(GTK_CLIST(clist_event),9,100);
gtk_clist_set_column_width(GTK_CLIST(clist_event),10,100);
gtk_container_add(GTK_CONTAINER(scrolled_window),clist_event);
gtk_widget_show(clist_event);
hbox=gtk_hbox_new(FALSE,0);
showcount_label=gtk_label_new("count");
gtk_widget_ref(showcount_label);
gtk_object_set_data_full(GTK_OBJECT(window),"showcount_label",showcount_label,(GtkDestroyNotify)gtk_widget_unref);
gtk_box_pack_start(GTK_BOX(hbox),showcount_label,TRUE,TRUE,0);
gtk_widget_show(showcount_label);
label=gtk_label_new("count");
gtk_widget_ref(label);
gtk_object_set_data_full(GTK_OBJECT(window),"label",label,(GtkDestroyNotify)gtk_widget_unref);
gtk_box_pack_start(GTK_BOX(hbox),label,TRUE,TRUE,0);
gtk_widget_show(label);
baojinlabel=gtk_label_new("count");
gtk_widget_ref(baojinlabel);
gtk_object_set_data_full(GTK_OBJECT(window),"baojinlabel",baojinlabel,(GtkDestroyNotify)gtk_widget_unref);
gtk_box_pack_start(GTK_BOX(hbox),baojinlabel,TRUE,TRUE,0);
gtk_widget_show(baojinlabel);
gtk_box_pack_start(GTK_BOX(vbox),hbox,FALSE,FALSE,0);
gtk_widget_show(hbox);
separator=gtk_hseparator_new();
gtk_box_pack_start(GTK_BOX(vbox),separator,FALSE,TRUE,0);
gtk_widget_show(separator);
//====================创建按钮行======================//
buttons_hbox=gtk_hbox_new(FALSE,0);
gtk_object_set_data(GTK_OBJECT(window),"buttons_hbox",buttons_hbox);
tooltips=gtk_tooltips_new();
gtk_tooltips_set_delay(tooltips,0);
button=gtk_button_new();
gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(threads_click),NULL);
//设置回调函数threads_click(),其功能是开始系统运行
gtk_box_pack_start(GTK_BOX(buttons_hbox),button,TRUE,TRUE,5);
gtk_tooltips_set_tip(tooltips,button,"Show the data in graph forms.",NULL);
box_xpm=xpm_label_box(window,"./xpm/sniffer.xpm","Sniffer");
gtk_widget_show(box_xpm);
gtk_container_add(GTK_CONTAINER(button),box_xpm);
gtk_widget_show(button);
tooltips=gtk_tooltips_new();
gtk_tooltips_set_delay(tooltips,0);
button1=gtk_button_new();
gtk_signal_connect(GTK_OBJECT(button1),"clicked",GTK_SIGNAL_FUNC(ok_clicked),NULL);
//设置回调函数ok_clicked()
gtk_signal_connect_object(GTK_OBJECT(button1),"clicked",GTK_SIGNAL_FUNC(ok_clicked_1),GTK_OBJECT(window));
//设置回调函数ok_clicked1_1()
gtk_box_pack_start(GTK_BOX(buttons_hbox),button1,TRUE,TRUE,5);
gtk_tooltips_set_tip(tooltips,button1,"Sniffer one packet a time.",NULL);
box_xpm=xpm_label_box_button(window,"./xpm/onepacket.xpm","One packet");
gtk_widget_show(box_xpm);
gtk_container_add(GTK_CONTAINER(button1),box_xpm);
gtk_widget_show(button1);
tooltips=gtk_tooltips_new();
gtk_tooltips_set_delay(tooltips,0);
button=gtk_button_new();
gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(clear),NULL);
//设置回调函数clear()
gtk_box_pack_start(GTK_BOX(buttons_hbox),button,TRUE,TRUE,5);
gtk_tooltips_set_tip(tooltips,button,"Clear all content in the text.",NULL);
box_xpm=xpm_label_box_button(window,"./xpm/delete.xpm","Clear");
gtk_widget_show(box_xpm);
gtk_container_add(GTK_CONTAINER(button),box_xpm);
gtk_widget_show(button);
tooltips=gtk_tooltips_new();
gtk_tooltips_set_delay(tooltips,0);
button=gtk_button_new();
gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(savetofile),NULL);
//设置回调函数savetofile(),功能是保存当前信息
gtk_box_pack_start(GTK_BOX(buttons_hbox),button,TRUE,TRUE,5);
gtk_tooltips_set_tip(tooltips,button,"Save the content to the file.",NULL);
box_xpm=xpm_label_box_button(window,"./xpm/filesave.xpm","Save");
gtk_widget_show(box_xpm);
gtk_container_add(GTK_CONTAINER(button),box_xpm);
gtk_widget_show(button);
tooltips=gtk_tooltips_new();
gtk_tooltips_set_delay(tooltips,0);
button=gtk_button_new();
gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(openfile_test),NULL);
//设置回调函数openfile_test(),其功能是打开文件
gtk_box_pack_start(GTK_BOX(buttons_hbox),button,TRUE,TRUE,5);
gtk_tooltips_set_tip(tooltips,button,"Show the data in text forms.",NULL);
box_xpm=xpm_label_box_button(window,"./xpm/open.xpm","Open");
gtk_widget_show(box_xpm);
gtk_container_add(GTK_CONTAINER(button),box_xpm);
gtk_widget_show(button);
tooltips=gtk_tooltips_new();
gtk_tooltips_set_delay(tooltips,0);
button=gtk_button_new();
gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(plot),NULL);
//设置回调函数plot(),其功能是显示图形
gtk_box_pack_start(GTK_BOX(buttons_hbox),button,TRUE,TRUE,5);
gtk_tooltips_set_tip(tooltips,button,"Show the data in graph forms.",NULL);
box_xpm=xpm_label_box_button(window,"./xpm/idea.xpm","Graph");
gtk_widget_show(box_xpm);
gtk_container_add(GTK_CONTAINER(button),box_xpm);
gtk_widget_show(button);
tooltips=gtk_tooltips_new();
gtk_tooltips_set_delay(tooltips,0);
button=gtk_button_new();
gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(tcstat),NULL);
//设置回调函数tcpstat(),其功能是显示画面
gtk_box_pack_start(GTK_BOX(buttons_hbox),button,TRUE,TRUE,5);
gtk_tooltips_set_tip(tooltips,button,"Show the data in graph forms.",NULL);
box_xpm=xpm_label_box_button(window,"./xpm/flag.xpm","tcpstat");
gtk_widget_show(box_xpm);
gtk_container_add(GTK_CONTAINER(button),box_xpm);
gtk_widget_show(button);
tooltips=gtk_tooltips_new();
gtk_tooltips_set_delay(tooltips,0);
button=gtk_button_new();
gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(test),NULL);
//设置回调函数test(),其功能是测试响应方式
gtk_box_pack_start(GTK_BOX(buttons_hbox),button,TRUE,TRUE,5);
gtk_tooltips_set_tip(tooltips,button,"Show the data in graph forms.",NULL);
box_xpm=xpm_label_box_button(window,"./xpm/minibreak.xpm","Test");
gtk_widget_show(box_xpm);
gtk_container_add(GTK_CONTAINER(button),box_xpm);
gtk_widget_show(button);
tooltips=gtk_tooltips_new();
gtk_tooltips_set_delay(tooltips,0);
button=gtk_button_new();
gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(read_bpf),NULL);
//设置回调函数read_bpf(),其功能是读取pbf文件
gtk_box_pack_start(GTK_BOX(buttons_hbox),button,TRUE,TRUE,5);
gtk_tooltips_set_tip(tooltips,button,"Show the data in graph forms.",NULL);
box_xpm=xpm_label_box_button(window,"./xpm/run.xpm","Readbpf");
gtk_widget_show(box_xpm);
gtk_container_add(GTK_CONTAINER(button),box_xpm);
gtk_widget_show(button);
tooltips=gtk_tooltips_new();
gtk_tooltips_set_delay(tooltips,0);
button=gtk_button_new();
gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(stop1),NULL);
//设置回调函数stop1(),其功能是停止系统运行
gtk_box_pack_start(GTK_BOX(buttons_hbox),button,TRUE,TRUE,5);
gtk_tooltips_set_tip(tooltips,button,"Stop sniffering……",NULL);
box_xpm=xpm_label_box_button(window,"./xpm/break,xpm","Stop");
gtk_widget_show(box_xpm);
gtk_container_add(GTK_CONTAINER(button),box_xpm);
gtk_widget_show(button);
tooltips=gtk_tooltips_new();
gtk_tooltips_set_delay(tooltips,0);
button=gtk_button_new();
gtk_signal_connect(GTK_OBJECT(window),"destroy",GTK_SIGNAL_FUNC(gtk_exit),NULL);
//设置回调函数gtk_exit(),其功能是退出GTK
gtk_signal_connect(GTK_OBJECT(window),"delete_event",GTK_SIGNAL_FUNC(gtk_exit),NULL);
//设置回调函数gtk_exit(),其功能是退出GTK
gtk_signal_connect_object(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(gtk_widget_destroy),GTK_OBJECT(window));
//设置回调函数gtk_widget_destroy(),其功能是销毁窗口
gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(destroy),NULL);
//设置回调函数destroy(),其功能是销毁窗口 gtk_box_pack_start(GTK_BOX(buttons_hbox),button,TRUE,TRUE,5);
gtk_tooltips_set_tip(tooltips,button,"Quit the program",NULL);
box_xpm=xpm_label_box_button(window,"./xpm/quit.xpm","Quit");
gtk_widget_show(box_xpm);
gtk_container_add(GTK_CONTAINER(button),box_xpm);
gtk_widget_show(button);
gtk_box_pack_start(GTK_BOX(vbox),buttons_hbox,FALSE,FALSE,5);
gtk_widget_show(buttons_hbox);
gtk_container_add(GTK_CONTAINER(window),vbox);
gtk_widget_show(vbox);
gtk_widget_show(window);
mynids_init();
srand((unsigned int)time(NULL));
gdk_threads_enter();
gtk_main();
gdk_threads_leave();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -