當前位置: 首頁>>代碼示例>>Golang>>正文


Golang FlowID.AddICMPv4Response方法代碼示例

本文整理匯總了Golang中github.com/elastic/beats/packetbeat/flows.FlowID.AddICMPv4Response方法的典型用法代碼示例。如果您正苦於以下問題:Golang FlowID.AddICMPv4Response方法的具體用法?Golang FlowID.AddICMPv4Response怎麽用?Golang FlowID.AddICMPv4Response使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在github.com/elastic/beats/packetbeat/flows.FlowID的用法示例。


在下文中一共展示了FlowID.AddICMPv4Response方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: ProcessICMPv4

func (icmp *Icmp) ProcessICMPv4(
	flowID *flows.FlowID,
	icmp4 *layers.ICMPv4,
	pkt *protos.Packet,
) {
	typ := uint8(icmp4.TypeCode >> 8)
	code := uint8(icmp4.TypeCode)
	id, seq := extractTrackingData(4, typ, &icmp4.BaseLayer)

	tuple := &icmpTuple{
		IcmpVersion: 4,
		SrcIp:       pkt.Tuple.Src_ip,
		DstIp:       pkt.Tuple.Dst_ip,
		Id:          id,
		Seq:         seq,
	}
	msg := &icmpMessage{
		Ts:     pkt.Ts,
		Type:   typ,
		Code:   code,
		Length: len(icmp4.BaseLayer.Payload),
	}

	if isRequest(tuple, msg) {
		if flowID != nil {
			flowID.AddICMPv4Request(id)
		}
		icmp.processRequest(tuple, msg)
	} else {
		if flowID != nil {
			flowID.AddICMPv4Response(id)
		}
		icmp.processResponse(tuple, msg)
	}
}
開發者ID:ChongFeng,項目名稱:beats,代碼行數:35,代碼來源:icmp.go


注:本文中的github.com/elastic/beats/packetbeat/flows.FlowID.AddICMPv4Response方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。