java解析五元组_抓包分析提取五元组

标签:

网络中每个通信实体的 socket 是用一个三元组标识的。三元组往往称为半相关

三元组指的是:协议族(地址族),网络地址、和传输层端口 (Ipv4 )。

通信双方的一个连接是用网络五元组来标识的,它是由双方相同协议族的两个本地三元组合成的。五元组往往称为全相关。

网络五元组指的是:协议族(地址族)、本地网络地址、本地端口、远程网络地址和远程端口。

套接口分为若干类型,常用的是 SOCK_STREAM 和 SOCK_DGRAM 。

SOCK_STREAM 是面向连接的套接字,使用的协议是 TCP ,通信的双方通过三次握手建立起虚拟的连接线路,通信的过程是可靠的。

而 SOCK_DGRAM 是面向非连接的套接字,使用的协议是 UDP ,通信双方以数据包的方式进行通信,通信的可靠性就不能得到保证。本项目要求采用 SOCK_STREAM 类型。

五元组格式(协议,本地 IP ,本地端口,远方 IP ,远方端口)的建立过程

服务器一般都有两个功能:监听 和 处理

在监听的时候,协议 / 本地 IP/ 本地端口(监听端口)都是确定的,当收到客户端的报文时,远方 IP 就是报文的源 IP 地址,远方端口就是报文的源端口,这样一来五元组就确定了。

然后服务器进入处理阶段,需要开启一个新的线程与客户端交互,当然就需要确定一个新的五元组,这时候协议 / 本地 IP/ 远方 IP/ 远方端口都来自监听阶段确定的五元组,而本地端口会在 1024 以上随机选取 (不再使用监听端口,以便监听其他客户端的请求)。

客户端的话正好相反&#

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值