📄 ethsniff.c
字号:
/*
*
* Copyright (C) 2003 Xiangbin Lee <honeycombs@sina.com> <honeycombs@263.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation.
*/
#include "netdrv.h"
#include "common.h"
#include "wizserver.h"
#include "wizspy.h"
#include "spyfun.h"
#include "serverfun.h"
void main_pro_quit(GtkWidget *widget,gpointer data)
{
// APP_MAIN *hMain=(APP_MAIN *)data;
gtk_main_quit();
}
gboolean on_menu_showspy(GtkWidget *widget, gpointer data)
{
APP_MAIN *hMain=(APP_MAIN *)data;
gtk_notebook_set_current_page (GTK_NOTEBOOK(APP_MAINFRAME(hMain)), 0);
return 0;
}
gboolean on_menu_showspysetting(GtkWidget *widget, gpointer data)
{
// APP_MAIN *hMain=(APP_MAIN *)data;
wizspy_setting_show();
return 0;
}
gboolean on_menu_spyopen(GtkWidget *widget, gpointer data)
{
// APP_MAIN *hMain=(APP_MAIN *)data;
return SpySetState(SPY_OPEN);
}
gboolean on_menu_spypause(GtkWidget *widget, gpointer data)
{
// APP_MAIN *hMain=(APP_MAIN *)data;
return SpySetState(SPY_PAUSE);
}
gboolean on_menu_spycontinue(GtkWidget *widget, gpointer data)
{
// APP_MAIN *hMain=(APP_MAIN *)data;
return SpySetState(SPY_CONTINUE);
}
gboolean on_menu_spystop(GtkWidget *widget, gpointer data)
{
// APP_MAIN *hMain=(APP_MAIN *)data;
return SpySetState(SPY_CLOSE);
}
gboolean on_menu_showserver(GtkWidget *widget, gpointer data)
{
APP_MAIN *hMain=(APP_MAIN *)data;
gtk_notebook_set_current_page (GTK_NOTEBOOK(APP_MAINFRAME(hMain)), 1);
return 0;
}
gboolean on_menu_openserver(GtkWidget *widget, gpointer data)
{
// APP_MAIN *hMain=(APP_MAIN *)data;
Server_Open();
return 0;
}
gboolean on_menu_closeserver(GtkWidget *widget, gpointer data)
{
// APP_MAIN *hMain=(APP_MAIN *)data;
Server_Close();
return 0;
}
gboolean on_menu_serversetting(GtkWidget *widget, gpointer data)
{
// APP_MAIN *hMain=(APP_MAIN *)data;
wizserv_setting_show();
return 0;
}
gint get_app_menu(APP_MAIN *hMain)/* APP_MENUBAR(hMain) */
{
/* create new main menu and it's submenu for app main, sample:
*
* GtkAccelGroup *accel;
* GtkWidget *menu, *menu_item;
* accel = gtk_accel_group_new();
* _gtk_accel_group_attach(accel, G_OBJECT(APP_HMAIN(hMain)));
*
* menu = create_menu(GTK_MENU_BAR(APP_MENUBAR(hMain)), "MENU-1", accel);
* menu_item= create_menu_item(GTK_MENU(menu), "MENU-1-1",
* GTK_SIGNAL_FUNC(MENU_1_1),NULL,accel,GDK_F2,0);
* menu_item= create_menu_item(GTK_MENU(menu), NULL,NULL,NULL,NULL,0,0);
* menu_item= create_menu_item(GTK_MENU(menu), "MENU-1-2",
* GTK_SIGNAL_FUNC(MENU_1_2),NULL,accel,GDK_F3,0);
*
* gboolean MENU_1_1(GtkWidget *widget, gpointer data);
* gboolean MENU_1_2(GtkWidget *widget, gpointer data);
*
*/
GtkWidget *menu, *submenu, *menu_item;
GtkAccelGroup *accel;
accel = create_menu_accelgroup(APP_HMAIN(hMain));
menu = create_menu_item(GTK_MENU(GTK_MENU_BAR(APP_MENUBAR(hMain))), "Ether Sniff",NULL,NULL,NULL,0,0);
{
menu_item= create_menu_item(GTK_MENU(menu), "Show",GTK_SIGNAL_FUNC(on_menu_showspy),hMain,accel,GDK_F5,0);
menu_item= create_menu_item(GTK_MENU(menu), NULL,NULL,NULL,NULL,0,0);
menu_item= create_menu_item(GTK_MENU(menu), "Startup",GTK_SIGNAL_FUNC(on_menu_spyopen),hMain,accel,0,0);
menu_item= create_menu_item(GTK_MENU(menu), "Pause",GTK_SIGNAL_FUNC(on_menu_spypause),hMain,accel,0,0);
menu_item= create_menu_item(GTK_MENU(menu), "Continue",GTK_SIGNAL_FUNC(on_menu_spycontinue),hMain,accel,0,0);
menu_item= create_menu_item(GTK_MENU(menu), "Stop",GTK_SIGNAL_FUNC(on_menu_spystop),hMain,accel,0,0);
menu_item= create_menu_item(GTK_MENU(menu), NULL,NULL,NULL,NULL,0,0);
menu_item= create_menu_item(GTK_MENU(menu), "Setting",GTK_SIGNAL_FUNC(on_menu_showspysetting),hMain,accel,0,0);
}
menu = create_menu_item(GTK_MENU(GTK_MENU_BAR(APP_MENUBAR(hMain))), "Service",NULL,NULL,NULL,0,0);
{
submenu=create_menu_item(GTK_MENU(menu), "TCP",NULL,NULL,NULL,0,0);
{
menu_item= create_menu_item(GTK_MENU(submenu), "Show",GTK_SIGNAL_FUNC(on_menu_showserver),hMain,accel,GDK_F6,0);
menu_item= create_menu_item(GTK_MENU(submenu), NULL,NULL,NULL,NULL,0,0);
menu_item= create_menu_item(GTK_MENU(submenu), "Open",GTK_SIGNAL_FUNC(on_menu_openserver),hMain,accel,0,0);
menu_item= create_menu_item(GTK_MENU(submenu), "Close",GTK_SIGNAL_FUNC(on_menu_closeserver),hMain,accel,0,0);
menu_item= create_menu_item(GTK_MENU(submenu), NULL,NULL,NULL,NULL,0,0);
menu_item= create_menu_item(GTK_MENU(submenu), "Setting",GTK_SIGNAL_FUNC(on_menu_serversetting),hMain,accel,0,0);
}
}
return 1;
}
gint get_app_toolbar(APP_MAIN *hMain) /* APP_TOOLBAR(hMain) */
{
/* Add buttons to your toolbar, sample:
*
* if(AppAddButoBar(APP_TOOLBAR(hMain),"Title","Tip","X.ico",
* GTK_SIGNAL_FUNC (TOOLBAR_FUN1),LPDATA)==NULL)return 0;
*
* gboolean TOOLBAR_FUN1(GtkWidget *widget, gpointer data);
*
* --- Add your codes here :
*/
return 1;
}
gint get_app_status(APP_MAIN *hMain) /* APP_STATUSBAR(hMain) */
{
/* Add new icon and it's function to a statusbar, sample:
*
* GtkWidget *iconw;
* iconw = gtk_image_new_from_file ("help.ico");
* if(gtk_toolbar_append_item (GTK_TOOLBAR (APP_STATUSBAR(hMain)),
* "Help","help","Private",iconw,GTK_SIGNAL_FUNC (Main_Help),
* NULL)==NULL)return 0;
*
* gboolean Main_Help(GtkWidget *widget, gpointer data);
*
* --- Add your codes here :
*/
return 1;
}
gint get_app_frame(APP_MAIN *hMain)/* APP_MAINFRAME(hMain) */
{
/* add a new wizard to main view , sample :
*
* GtkWidget *frame,*label;
* label = gtk_label_new (char *labalname);
* frame = a new GtkWidget;
* gtk_notebook_append_page (GTK_NOTEBOOK(APP_MAINFRAME(hMain)), frame, label);
*
* --- Add your codes here :
*/
GtkWidget *frame,*label;
label = gtk_label_new ("Ether Sniff");
frame = get_wizspy_dialog(NULL);
gtk_notebook_append_page (GTK_NOTEBOOK(APP_MAINFRAME(hMain)), frame, label);
label = gtk_label_new ("Tcp Service");
frame = get_wizserver_dialog(NULL);
gtk_notebook_append_page (GTK_NOTEBOOK(APP_MAINFRAME(hMain)), frame, label);
return 1;
}
int main(int argc, char* argv[])
{
APP_MAIN hMain;
/* Init socket */
InitSockets();
/* Initialise GTK */
gtk_init (&argc, &argv);
app_init(&hMain,"Test App !");
if(hMain.hmain==NULL)
{
printf("\n get_main_app failure !");
WSACleanup();
return 0;
}
/* Here we connect the "destroy" event to a signal handler */
g_signal_connect (G_OBJECT (APP_HMAIN(&hMain)), "destroy",
G_CALLBACK (main_pro_quit), (gpointer)(&hMain));
if(get_app_menu(&hMain)==0)
{
printf("\n get_main_menu failure !");
WSACleanup();
return 0;
}
if(get_app_toolbar(&hMain)==0)
{
printf("\n get_main_toolbar failure !");
WSACleanup();
return 0;
}
if(get_app_status(&hMain)==0)
{
printf("\n get_main_statusbar failure !");
WSACleanup();
return 0;
}
if(get_app_frame(&hMain)==0)
{
printf("\n get_main_frame failure !");
WSACleanup();
return 0;
}
gtk_widget_show_all(APP_HMAIN(&hMain));
#ifdef GTK_INCLUDE
gdk_threads_enter();
#endif
gtk_main ();
#ifdef GTK_INCLUDE
gdk_threads_leave();
#endif
WSACleanup();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -