snort只报警ARP协议的命令
时间: 2023-10-09 22:17:58 浏览: 168
我理解您的问题是关于Snort仅报警ARP协议上的命令的问题。Snort默认情况下会监视并报告所有协议的活动,但是可以通过使用规则来限制其监视和报告活动。要限制ARP协议上的命令报告,请在Snort规则中使用相应的字词过滤器。例如,使用以下规则将仅报告ARP协议上的PING命令:
alert arp any any -> any any (msg:"ARP ping detected";)
这将在ARP协议上报告任何PING命令,而忽略其他协议的活动。希望这能回答您的问题。
相关问题
snort怎么让arp协议合法
Snort可以通过以下方式让ARP协议合法:
1. 在Snort的rules文件中添加针对ARP协议的规则,以允许合法的ARP请求和响应通过。例如:
alert arp any any -> any any (msg:"Valid ARP packet";)
2. 在Snort的配置文件中启用ARP检测,以允许Snort监控和检测ARP请求和响应。例如:
preprocessor arpspoof_detect
通过以上两个方法,可以让Snort检测并允许合法的ARP通信,同时检测并拦截不合法的ARP请求和响应。
snort想识别ARP协议,应该在修改哪些文件和怎么添加函数
要在Snort中识别ARP协议,需要进行如下操作:
1. 在`src/detection-plugins`目录下添加一个新的检测插件,例如`arp.c`文件。
2. 在`arp.c`文件中添加一个新的检测函数,例如`DetectArp()`函数。该函数可以使用libpcap库监听网络接口,获取ARP数据包,并进行解析和识别。
3. 在`arp.c`文件中定义一个`DetectionPlugin`结构体变量,用于存储插件的相关信息,例如插件名称、协议名称、检测函数指针等。
4. 在`detection-plugins.h`文件中添加一个新的检测插件类型,例如`DETECTION_ARP`。
5. 在`detect.h`文件中添加一个新的检测函数声明,例如`void DetectArp(Packet *p, DetectionPlugin *dp);`。
6. 在`detect.c`文件中注册新的检测插件和检测函数,例如:
```
DetectionPlugin arpPlugin = {
.name = "ARP",
.protocol = PROTO_ARP,
.detectionFunc = DetectArp,
};
void DetectArp(Packet *p, DetectionPlugin *dp)
{
// ARP识别代码
}
void RegisterDetectionPlugins(void)
{
...
// 注册ARP插件
RegisterDetectionPlugin(&arpPlugin);
}
```
7. 在Snort配置文件中启用新的检测插件,例如:
```
config detection: search-method ac-split search-optimize max-pattern-len 20
config detection: arp
```
以上是添加ARP协议识别的大致流程,具体实现可能会因版本和环境而有所不同。需要注意的是,Snort的协议识别和检测需要遵循一定的规范和流程,如果不熟悉Snort的源代码和插件机制,建议先阅读相关文档和示例代码,再进行相关改动。
阅读全文