资源简介
linux入侵检测源代码基于libnids的非常简单的功能,实现了端口扫描,tcp,udp异常数据包的检测要两台linux系统联网,用nmap扫描
代码片段和文件信息
#include “stdio.h“
#include “string.h“
#include “nids.h“
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
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 char ip_version:4
ip_header_length:4;
#else
unsigned char ip_header_length:4
ip_version:4;
#endif
unsigned char ip_tos;
unsigned short ip_length;
unsigned short ip_id;
unsigned short ip_off;
unsigned char ip_ttl;
unsigned char ip_protocol;
unsigned short ip_checksum;
struct in_addr ip_source_address;
struct in_addr ip_destination_address;
};
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; /*����ָ��*/
};
struct udp_header
{
unsigned short udp_source_port;
unsigned short udp_destination_port;
unsigned short udp_length;
unsigned short udp_checksum;
};
char ascii_string[10000];
void sound_alarm()
{
int fd = open(“/dev/tty10“ O_RDONLY);
char *ch1=“100“;
char *ch2=“2000“;
ioctl(fd KDMKTONE (atoi(ch1)<<16)+(1193180/atoi(ch2)));
}
char* char_to_ascii(char ch)
{
char*string;
ascii_string[0]=0;
string=ascii_string;
if(isgraph(ch))
{
*string++=ch;
}
else if(ch==‘\n‘ || ch==‘\r‘)
{
*string++=ch;
}
else
{
*string++=‘.‘;
}
*string=0;
return ascii_string;
}
void udp_protocol_packet_callback ( u_char * packet_content)
{
struct udp_header* udp_protocol;
unsigned short source_port;
u_short destination_port;
u_short length;
udp_proto
相关资源
- PXE网络启动批量安装Linux系统
- Linux_期末考试试题8套(含答案)245
- 在linux中实现一个命令执行程序doit
- cmd命令大全(最全最权威).pdf
- linux下读写ini配置文件(与windows API一
- VirtualBox实现文件夹共享
- linux驱动编写ppt
- linux下的U盘驱动程序
- pwn学习历程.pdf
- linux下dhcp软件包
- Linux下posix线程实现的定时器
- redis RPM完整安装包
- linux下飞鸽传书
- linux ipv6简单tcp/udp socket通信
- qt网络五子棋
- linux c tcp socket 多线程简易聊天室
- rk3288平台深度学习框架caffe+opencv环境
- 最新的libssh2库源码
- LINUX 串口与SPI操作
- 嵌入式Linux应用系统开发精讲源码
- 深入理解计算机系统原书第三版超高
- linux下基于V4L2/Qt的usb摄像头采集显示
- linux下哲学家就餐问题大作业
- linux下c (一个简单的sniffer工具)
- linux下使用IIC总线读写EEPROM
- linux 目录树实现代码递归
- Linux下基于原始套接字的嗅探器
- 详细介绍linux下移植wifi的步骤
- linux环境rtmp推流
- 为LINUX 设计一个简单的二级文件系统
评论
共有 条评论