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

📄 portscandetect_tab.h

📁 嵌入式Linux环境下的网络安全检测软件
💻 H
字号:
#ifndef PORTTAB_H#define PORTTAB_H#include <qvariant.h>#include <qdialog.h>#include <qapplication.h>#include <qwidget.h>#include <qcheckbox.h>#include <qheader.h>#include <qlabel.h>#include <qlineedit.h>#include <qlistview.h>#include <qpushbutton.h>#include <qtabwidget.h>#include <qwidget.h>#include <qlayout.h>#include <qvariant.h>#include <qtooltip.h>#include <qwhatsthis.h>#include <qimage.h>#include <qpixmap.h>#include <qtextstream.h>#include <qfile.h>#include <qthread.h>class QVBoxLayout; class QHBoxLayout; class QGridLayout; class QCheckBox;class QLabel;class QLineEdit;class QListView;class QListViewItem;class QPushButton;class QTabWidget;class QWidget;class QRadioButton;class QButtonGroup;extern "C"{	#include <nids.h>}#include <iostream>#include <fstream>#include <cstdlib>#include <string>#include <vector>#include <sys/time.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>  //struct in_addr#include <arpa/inet.h>	//定义了inet_ntoa()函数#include "network.h"/*-----------------------------------------------------------------------------------------------------------------------下面是检测扫描用的扫描信息数据结构----------------------------------------------------------------------------------------------------------------------- */struct scan{    u_int addr; /* 地址 */    unsigned short port; /* 端口号 */    u_char flags; /* 标记 */};/*-----------------------------------------------------------------------------------------------------------------------下面是检测扫描时用到的扫描主机数据结构----------------------------------------------------------------------------------------------------------------------- */struct host{    struct host *next; /* 下一个主机结点 */    struct host *prev; /* 前一个主机结点 */    u_int addr; /* 地址 */    int modtime; /* 时间 */    int n_packets; /* 个数 */    struct scan *packets; /* 扫描信息 */};/*-----------------------------------------------------------------------------------------------------------------------下面是IP协议首部的数据结构----------------------------------------------------------------------------------------------------------------------- */struct ip_header{    #if defined(WORDS_BIGENDIAN)        unsigned int ip_v: 4, ip_hl: 4;    #else        unsigned int ip_hl: 4, ip_v: 4;    #endif    unsigned int ip_tos;    unsigned char ip_len;    unsigned char ip_id;    unsigned char ip_off;    unsigned int ip_ttl;    unsigned int ip_p;    unsigned char ip_csum;    struct in_addr ip_src;    struct in_addr ip_dst;};/*-----------------------------------------------------------------------------------------------------------------------下面是TCP协议首部的数据结构----------------------------------------------------------------------------------------------------------------------- */struct tcp_header{    unsigned char th_sport; /* 源端口号 */    unsigned char th_dport; /* 目的端口号 */    unsigned short th_seq; /* 序列号 */    unsigned short th_ack; /* 确认号 */    #ifdef WORDS_BIGENDIAN        unsigned int th_off: 4,  /* 数据偏移 */        th_x2: 4; /* 保留 */    #else        unsigned int th_x2: 4,  /* 保留 */        th_off: 4; /* 数据偏移 */    #endif    unsigned int th_flags;    unsigned char th_win; /* 窗口大小 */    unsigned char th_sum; /* 校验和 */    unsigned char th_urp; /* 紧急指针 */};class PortFileDisplay_Thread;class PortScanDetect_Tab : public QWidget, QThread{	Q_OBJECTpublic:	PortScanDetect_Tab(QWidget *parent = 0);    	~PortScanDetect_Tab();	void run();	void stop();		private slots:	void start_detect();	void start_display();	void clear_detect();private:	static void my_nids_syslog( int type, int errnum, struct ip_header *iph, void *data);	void detect_run();	void display(QString output);	public:	QListView* disp_listview;	QListViewItem *list_item;	private:	QPushButton* portscan_start;	QPushButton* portscan_clear;			QString error_buf;		volatile bool detect_stopped;	volatile bool display_stopped;	PortFileDisplay_Thread *readfiledisplay_thread;};class PortFileDisplay_Thread : public QThread{public:	PortFileDisplay_Thread(PortScanDetect_Tab *parent = 0);	~PortFileDisplay_Thread();	void read_file_display(const QString &FILENAME, QListView *listview, QListViewItem *list_item );	void run();	void stop();	private:	PortScanDetect_Tab *p;};#endif

⌨️ 快捷键说明

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