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

📄 arp_tab.h

📁 嵌入式Linux环境下的网络安全检测软件
💻 H
字号:
#ifndef ARPTAB_H#define ARPTAB_H#include <qvariant.h>#include <qdialog.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 <qradiobutton.h>#include <qbuttongroup.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 <pcap.h>	#include <libnet.h>}#include <iostream>#include <cstdlib>#include <string>#include <vector>#include <unistd.h>	//getopt()#include <sys/time.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include "network.h"using namespace std;#define HOSTSCAN  0#define ARPCHEAT  1struct arp_header{	u_int16_t ar_hrd;		/* Format of hardware address.  */	u_int16_t ar_pro;		/* Format of protocol address.  */	u_int8_t ar_hln;		/* Length of hardware address.  */	u_int8_t ar_pln;		/* Length of protocol address.  */	u_int16_t ar_op;		/* ARP opcode (command).  */		u_int8_t src_eth[ETH_ALEN];	/* Sender hardware address.  */	u_int8_t src_ip[IP_ALEN];		/* Sender IP address.  */	u_int8_t dst_eth[ETH_ALEN];	/* Target hardware address.  */	u_int8_t dst_ip[IP_ALEN];		/* Target IP address.  */};struct host_info{	u_int8_t host_alive;	//标志本网段内活动主机	char ip_str[20];//主机IP信息	char eth_str[20];//主机MAC信息};class ArpTab : public QWidget, QThread{    Q_OBJECTprivate slots:	void start_arp();	void clear_arp();	void enableEth();	void enableIP();	void enableHostScan();	void enableArpCheat();	 private:	QCheckBox* arp_ip_check;	QButtonGroup* work_mode;	QRadioButton* hostScan_RadioButton;	QRadioButton* arpCheat_RadioButton;	QLineEdit* arp_ip_lineedit;	QLineEdit* arp_eth_lineedit;	QListView* disp_arp;	QCheckBox* arp_eth_check;	QPushButton* ARP_start;	QPushButton* ARP_clear;    	QListViewItem *list_item;		QString output_buf;	QString error_buf;		pcap_t *pcap;	libnet_t *libnet;	//Libnet handler	char *device;		bool workmode_flag;	bool scan_flag;	volatile bool stopped;		private:	void ip_addr_itoa(char *dst_ip_str, u_int8_t *src_ip);	void eth_addr_itoa(char *dst_eth_str, u_int8_t *src_eth);	void quit();	void host_scan();	void arp_cheat();	void display(QString output);		public:    	ArpTab(QWidget *parent = 0);    	~ArpTab();	void run();	void stop();};#endif

⌨️ 快捷键说明

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