⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wizspy.c

📁 Linux 上的socket嗅探器
💻 C
📖 第 1 页 / 共 5 页
字号:
            {
                if(wizspy_areab4_destip[freei].itemdata==itemdata.itemdata)
                {
                    wizspy_areab4_destip[freei].itemdata=0;
                    wizspy_areab4_destip[freei].itemname[0]=0;
                    listbox_deleteitem(wizspy_areab4_listboxdest,index);
                    break;
                } //if(wizspy_areab4_srcip[freei].itemdata==itemdata.itemdata)
            } // for(freei=0;freei<MAX_NOUSEIPNUM;freei++)
        }//if(index>=0)
    }  
}


GtkWidget *wizspy_areab4_create(GtkWidget *window)
{
    GtkWidget *hbox_main, *vbox_src, *vbox_dest, *radioframe;
    GtkWidget *listbox, *bbox,*button;
    GSList *radiogroup;
    gint freei;

    if(wizspy_areab4.regsignal==GTK_WIDGET_REG)
       return (wizspy_areab4.scrolled_window);
    else wizspy_areab4.regsignal=GTK_WIDGET_REG;

    /*-------------------------------------------------------------*/
    hbox_main=gtk_hbox_new (FALSE, 0);
    gtk_container_set_border_width (GTK_CONTAINER (hbox_main), 1);
    
    vbox_src=gtk_vbox_new (FALSE, 0);
    gtk_container_set_border_width (GTK_CONTAINER (vbox_src), 1);
    vbox_dest=gtk_vbox_new (FALSE, 0);
    gtk_container_set_border_width (GTK_CONTAINER (vbox_dest), 1);
    
    gtk_box_pack_start (GTK_BOX (hbox_main),vbox_src, TRUE, TRUE, 1);

    gtk_box_pack_start (GTK_BOX (hbox_main),vbox_dest, TRUE, TRUE, 1);

    /* source dialog to vbox_src */
    // radio frame and buttons
    radioframe=gtk_frame_new("Source IP"); 
    bbox=gtk_vbutton_box_new();
    gtk_container_add (GTK_CONTAINER (radioframe), bbox);
    gtk_container_set_border_width (GTK_CONTAINER (bbox), 1);
    gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_START);
    gtk_box_set_spacing (GTK_BOX (bbox), 1); 
    button = gtk_radio_button_new_with_label (NULL, "Accept all expcet that in list");
    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), ifsrcenableall);
    g_signal_connect (G_OBJECT (button), "clicked",
                              G_CALLBACK (wizspy_areab4_clickradioaccept), &wizspy_areab4_listboxsource);
    gtk_box_pack_start (GTK_BOX (bbox), button, TRUE, TRUE, 0);
    radiogroup = gtk_radio_button_get_group (GTK_RADIO_BUTTON (button));
    button = gtk_radio_button_new_with_label (radiogroup, "Ignore all expcet that in list");
    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), !ifsrcenableall);     
    g_signal_connect (G_OBJECT (button), "clicked",
                              G_CALLBACK (wizspy_areab4_clickradioignore), &wizspy_areab4_listboxsource);
    gtk_box_pack_start (GTK_BOX (bbox), button, TRUE, TRUE, 0);
    gtk_box_pack_start (GTK_BOX (vbox_src),radioframe, TRUE, TRUE, 1);
    // list box
    listbox=listbox_createnew(NULL,&wizspy_areab4_listboxsource);
    gtk_widget_set_size_request (GTK_WIDGET (listbox), 80, 80);
    gtk_box_pack_start (GTK_BOX (vbox_src),listbox, TRUE, TRUE, 1);

    for(freei=0;freei<MAX_NOUSEIPNUM;freei++)
    {
        if(wizspy_areab4_srcip[freei].itemdata>0&&wizspy_areab4_srcip[freei].itemname[0]!=0) 
              listbox_insertitem(wizspy_areab4_listboxsource,wizspy_areab4_srcip[freei],0);
    }
    
    // button box
    bbox=gtk_hbutton_box_new();
    gtk_container_set_border_width (GTK_CONTAINER (bbox), 1);
    gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_SPREAD);
    gtk_box_set_spacing (GTK_BOX (bbox), 1);

    button = gtk_button_new_with_label ( "Add");
    g_signal_connect (G_OBJECT (button), "clicked",
                              G_CALLBACK (wizspy_areab4_clickadd), &wizspy_areab4_listboxsource);
    gtk_box_pack_start (GTK_BOX (bbox), button, TRUE, TRUE, 0);
    button = gtk_button_new_with_label ( "Remove");
    g_signal_connect (G_OBJECT (button), "clicked",
                              G_CALLBACK (wizspy_areab4_clickremove), &wizspy_areab4_listboxsource);
    gtk_box_pack_start (GTK_BOX (bbox), button, TRUE, TRUE, 0);
    gtk_box_pack_start (GTK_BOX (vbox_src),bbox, TRUE, TRUE, 1);

    /* dest dialog to vbox_dest */
    // radio frame and buttons
    radioframe=gtk_frame_new("Dest IP");
    bbox=gtk_vbutton_box_new();
    gtk_container_add (GTK_CONTAINER (radioframe), bbox);
    gtk_container_set_border_width (GTK_CONTAINER (bbox), 1);
    gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_START);
    gtk_box_set_spacing (GTK_BOX (bbox), 1);
    button = gtk_radio_button_new_with_label (NULL, "Accept all expcet that in list");
    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), ifdestenableall);
    g_signal_connect (G_OBJECT (button), "clicked",
                              G_CALLBACK (wizspy_areab4_clickradioaccept), &wizspy_areab4_listboxdest);
    gtk_box_pack_start (GTK_BOX (bbox), button, TRUE, TRUE, 0);
    radiogroup = gtk_radio_button_get_group (GTK_RADIO_BUTTON (button));
    button = gtk_radio_button_new_with_label (radiogroup, "Ignore all expcet that in list");
    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), !ifdestenableall);
    g_signal_connect (G_OBJECT (button), "clicked",
                              G_CALLBACK (wizspy_areab4_clickradioignore), &wizspy_areab4_listboxdest);
    gtk_box_pack_start (GTK_BOX (bbox), button, TRUE, TRUE, 0);
    gtk_box_pack_start (GTK_BOX (vbox_dest),radioframe, TRUE, TRUE, 1);
    
    // listbox
    listbox=listbox_createnew(NULL,&wizspy_areab4_listboxdest);
    gtk_widget_set_size_request (GTK_WIDGET (listbox), 80, 80);
    gtk_box_pack_start (GTK_BOX (vbox_dest),listbox, TRUE, TRUE, 1);
    for(freei=0;freei<MAX_NOUSEIPNUM;freei++)
    {
        if(wizspy_areab4_destip[freei].itemdata>0&&wizspy_areab4_destip[freei].itemname[0]!=0)
              listbox_insertitem(wizspy_areab4_listboxdest,wizspy_areab4_destip[freei],0);
    }
    
    // button box
    bbox=gtk_hbutton_box_new();
    gtk_container_set_border_width (GTK_CONTAINER (bbox), 1);
    gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_SPREAD);
    gtk_box_set_spacing (GTK_BOX (bbox), 1);
    button = gtk_button_new_with_label ( "Add");
    g_signal_connect (G_OBJECT (button), "clicked",
                              G_CALLBACK (wizspy_areab4_clickadd), &wizspy_areab4_listboxdest);
    gtk_box_pack_start (GTK_BOX (bbox), button, TRUE, TRUE, 0);
    button = gtk_button_new_with_label ( "Remove");
    g_signal_connect (G_OBJECT (button), "clicked",
                              G_CALLBACK (wizspy_areab4_clickremove), &wizspy_areab4_listboxdest);
    gtk_box_pack_start (GTK_BOX (bbox), button, TRUE, TRUE, 0);
    gtk_box_pack_start (GTK_BOX (vbox_dest),bbox, TRUE, TRUE, 1);

    /*-------------------------------------------------------------*/
    wizspy_areab4.ctrl=hbox_main;
    wizspy_areab4.scrolled_window=gtk_append_scrollviewport(wizspy_areab4.ctrl);
    if(window!=NULL)
        gtk_container_add (GTK_CONTAINER (window), wizspy_areab4.scrolled_window);
    gtk_widget_show_all (wizspy_areab4.scrolled_window);  
    return wizspy_areab4.scrolled_window;

}

/*----------------  B1-- system setting ---------*/
/*

1.dialog preview:

 _________________
| system  setting \

------------------------------------------------------------------|
| option:                                                         |
| |---------------| |-------------------|  |-------------------|  |
| | packet invald | |  protocal invald  |  |     ip invald     |  |
| |---------------| |-------------------|  |-------------------|  |
|                                                                 |
------------------------------------------------------------------|
| control:                                                        |
| |------------| |------------| |-------------| |------------|    |
| |  spy open  | | spy pause  | | spy continue| |  spy close |    |
| |------------| |------------| |-------------| |------------|    |
|                                                                 |
------------------------------------------------------------------|
| others:                                                         |
| |---------------| |-------------------|                         |
| | clear message | | clear packet list |          OK             |
| |---------------| |-------------------|                         |
|                                                                 |
------------------------------------------------------------------|

2.main gtk ctrl relations :

  +vbox
   |+option frame
   | |+hbox
   |   |-button (packet invald)
   |   |-button (protocal invald)
   |   |-button (ip invald )
   |+control frame
   | |+hbox
   |   |-button (spy open)
   |   |-button (spy pause)
   |   |-button (spy continue)
   |   |-button (spy close)
   |+others frame
     |+hbox
       |-button (clear message)
       |-button (clear packet list)

*/

void wizspy_areab1_clickoptionpacket(GtkWidget *window, gpointer fundata)
{
    extern GtkScrollCtrl wizspy_areab; 
    if(wizspy_areab.regsignal==GTK_WIDGET_REG)
        gtk_notebook_set_current_page(GTK_NOTEBOOK(wizspy_areab.ctrl),1);

}

void wizspy_areab1_clickoptionprotocal(GtkWidget *window, gpointer fundata)
{                 
    extern GtkScrollCtrl wizspy_areab;
    if(wizspy_areab.regsignal==GTK_WIDGET_REG)
        gtk_notebook_set_current_page(GTK_NOTEBOOK(wizspy_areab.ctrl),2);
}

void wizspy_areab1_clickoptionip(GtkWidget *window, gpointer fundata)
{                               
    extern GtkScrollCtrl wizspy_areab;
    if(wizspy_areab.regsignal==GTK_WIDGET_REG)
        gtk_notebook_set_current_page(GTK_NOTEBOOK(wizspy_areab.ctrl),3);
}

void wizspy_areab1_clickopen(GtkWidget *window, gpointer fundata)
{
     SpySetState(SPY_OPEN);
}

void wizspy_areab1_clickpause(GtkWidget *window, gpointer fundata)
{
     SpySetState(SPY_PAUSE);
}

void wizspy_areab1_clickcontinue(GtkWidget *window, gpointer fundata)
{
     SpySetState(SPY_CONTINUE);

}

void wizspy_areab1_clickclose(GtkWidget *window, gpointer fundata)
{
     SpySetState(SPY_CLOSE);
}

void wizspy_areab1_clickclearmsg(GtkWidget *window, gpointer fundata)
{
    wizspy_areaa_settext("");
}

void wizspy_areab1_clickclearlist(GtkWidget *window, gpointer fundata)
{
    extern GtkScrollCtrl spyareae_ethlist;
    extern GtkScrollCtrl spyareae_iplist;
    
    gtk_clist_clear(GTK_CLIST(spyareae_ethlist.ctrl));
    gtk_clist_clear(GTK_CLIST(spyareae_iplist.ctrl));

}

GtkScrollCtrl wizspy_areab1={0,0,0,};
GtkWidget *wizspy_areab1_create(GtkWidget *window)
{
    GtkWidget *vbox, *frame, *hbox, *button;

    if(wizspy_areab1.regsignal==GTK_WIDGET_REG)
        return (wizspy_areab1.scrolled_window);
    else wizspy_areab1.regsignal=GTK_WIDGET_REG;
    wizspy_areab1.ctrl=gtk_frame_new(NULL);
    /* -----------------------------------------------------------------*/

    vbox= gtk_vbox_new (FALSE, 0);
    gtk_container_set_border_width (GTK_CONTAINER (vbox), 1);
    gtk_container_add (GTK_CONTAINER (wizspy_areab1.ctrl), vbox);


    /* create Option  */
    frame=gtk_frame_new("Option:");
    gtk_box_pack_start (GTK_BOX (vbox),frame, TRUE, TRUE, 1);
    hbox= gtk_hbutton_box_new();
    gtk_container_add (GTK_CONTAINER (frame), hbox);
    gtk_container_set_border_width (GTK_CONTAINER (hbox), 4);
    gtk_button_box_set_layout (GTK_BUTTON_BOX (hbox), GTK_BUTTONBOX_SPREAD);
    gtk_box_set_spacing (GTK_BOX (hbox), 20);

    // packet invald
    button=gtk_button_new_with_label("packet invald");
    gtk_container_add (GTK_CONTAINER (hbox), button);
    g_signal_connect (G_OBJECT (button), "clicked",G_CALLBACK (wizspy_areab1_clickoptionpacket), NULL);

    // protocal invald

    button=gtk_button_new_with_label("protocal invald");
    gtk_container_add (GTK_CONTAINER (hbox), button);
    g_signal_connect (G_OBJECT (button), "clicked",G_CALLBACK (wizspy_areab1_clickoptionprotocal), NULL);

    // ip invald
    button=gtk_button_new_with_label("ip invald");
    gtk_container_add (GTK_CONTAINER (hbox), button);
    g_signal_connect (G_OBJECT (button), "clicked",G_CALLBACK (wizspy_areab1_clickoptionip), NULL);

    /* create Control  */
    frame=gtk_frame_new("Control:");
    gtk_box_pack_start (GTK_BOX (vbox),frame, TRUE, TRUE, 1);
    hbox= gtk_hbutton_box_new();
    gtk_container_add (GTK_CONTAINER (frame), hbox);
    gtk_container_set_border_width (GTK_CONTAINER (hbox), 4);
    gtk_button_box_set_layout (GTK_BUTTON_BOX (hbox), GTK_BUTTONBOX_SPREAD);
    gtk_box_set_spacing (GTK_BOX (hbox), 20);
    // spy open
    button=gtk_button_new_with_label("spy open");
    gtk_container_add (GTK_CONTAINER (hbox), button);
    g_signal_connect (G_OBJECT (button), "clicked",G_CALLBACK (wizspy_areab1_clickopen), NULL);

    // spy pause
    button=gtk_button_new_with_label("spy pause");
    gtk_container_add (GTK_CONTAINER (hbox), button);
    g_signal_connect (G_OBJECT (button), "clicked",G_CALLBACK (wizspy_areab1_clickpause), NULL);

    // spy continue
    button=gtk_button_new_with_label("spy continue");
    gtk_container_add (GTK_CONTAINER (hbox), button);
    g_signal_connect (G_OBJECT (button), "clicked",G_CALLBACK (wizspy_areab1_clickcontinue), NULL);

    // spy close
    button=gtk_button_new_with_label("spy close");
    gtk_container_add (GTK_CONTAINER (hbox), button);
    g_signal_connect (G_OBJECT (button), "clicked",G_CALLBACK (wizspy_areab1_clickclose), NULL);

    /* create others  */
    frame=gtk_frame_new("Others:");
    gtk_box_pack_start (GTK_BOX (vbox),frame, TRUE, TRUE, 1);
    hbox= gtk_hbutton_box_new();
    gtk_container_add (GTK_CONTAINER (frame), hbox);
    gtk_container_set_border_width (GTK_CONTAINER (hbox), 4);
    gtk_button_box_set_layout (GTK_BUTTON_BOX (hbox), GTK_BUTTONBOX_SPREAD);
    gtk_box_set_spacing (GTK_BOX (hbox), 20);
    // clear message
    button=gtk_button_new_with_label("clear message");
    gtk_container_add (GTK_CONTAINER (hbox), button);
    g_signal_connect (G_OBJECT (button), "clicked",G_CALLBACK (wizspy_areab1_clickclearmsg), NULL);

    // clear packet list
    button=gtk_button_new_with_label("clear packet list");
    gtk_container_add (GTK_CONTAINER (hbox), button);
    g_signal_connect (G_OBJECT (button), "clicked",G_CALLBACK (wizspy_areab1_clickclearlist), NULL);

    /* -----------------------------------------------------------------*/
    wizspy_areab1.scrolled_window=gtk_append_scrollviewport(wizspy_areab1.ctrl);
    if(window!=NULL)
        gtk_container_add (GTK_CONTAINER (window), wizspy_areab1.scrolled_window);
    gtk_widget_show_all (wizspy_areab1.scrolled_window);
    return wizspy_areab1.scrolled_window;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -