java - 什么是 TCP 协议(protocol)中的同步错误?

标签 java tcp network-programming intrusion-detection

如何使用 JnetPcap(JNETPCAP 是 libpcap 的 java 包装器)检查连接中的 SYN 错误? 还有如何检查连接中的REJ错误?

我正在构建入侵检测系统。目前正在为 live 系统提取 KDD CUP 99 数据集的属性。

任何引用都会对我有帮助。

最佳答案

您可以使用 Bro找出连接/流的状态。为此,按如下方式运行 Bro:

bro -r trace.pcap

这会生成一个文件 conn.log,其中包含反射(reflect)连接状态的列 conn_state。下面是该字段的一些相关值,详见documentation :

  • S0:看到连接尝试,没有回复。
  • S1:连接已建立,未终止。
  • SF:正常建立和终止。请注意,这是与状态 S1 相同的符号。您可以区分这两者,因为对于 S1,摘要中不会有任何字节计数,而对于 SF 会有。
  • REJ:连接尝试被拒绝。
  • RSTO:连接建立,发起者中止(发送 RST)。
  • RSTR:建立,响应者中止。

附带说明一下,IDS 研究社区强烈反对使用 DARPA 数据集(以及派生的 KDD Cup 数据集),尽管它的可用性很有吸引力。

关于java - 什么是 TCP 协议(protocol)中的同步错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8807978/

相关文章:

java - 接收 : How to get the last element even if onError was called?

c - Loopback tcp连接加速

c - 用 C 语言向服务器套接字编程发送各种命令

Java7 DatagramSocket.setReceiveBufferSize Windows和Linux之间的方式不同?

ios - Iphone 监听一个 tcp 端口

c++ - 如何将 ASN 中的 SIZE OF 运算符与另一个变量组合?

java - 如何使用 Apache POI 将现有 Excel 工作表中的一行复制到新的 Excel 工作表?

java - Jade - 事件循环的哪种行为?

java - OSGi 部署管理服务的状态

c - 使用 TCP 时发送 1 个大块还是发送许多小块更好?