首页 > 其他分享 >Golang案例开发之gopacket监听网卡抓包(2)

Golang案例开发之gopacket监听网卡抓包(2)

时间:2024-03-19 13:59:42浏览次数:27  
标签:Golang google gopacket 网卡 handler 监听 抓包

文章目录


前言

本节实战,监听指定网卡,进行网络抓包,根据分层,解析不同分层包的内容。


二、实践 监听网卡抓包

1.代码

代码如下(示例):

package main

import (
	"fmt"
	"log"
	"strings"
	"time"

	"github.com/google/gopacket"
	"github.com/google/gopacket/layers"
	"github.com/google/gopacket/pcap"
)

// 监听 ens33 网卡上的  目标端口 5100的 TCP包

func main() {
   

	handler, err := pcap.OpenLive("ens33", 1024, false, time.Second*5)
	if err != nil {
   
		log.Fatal(err)
	}
	defer handler.Close()

	var filter string = "tcp port 5100"
	handler.SetBPFFilter(filter)
	source := gopacket.NewPacketSource(handler, handler.LinkType

标签:Golang,google,gopacket,网卡,handler,监听,抓包
From: https://blog.csdn.net/cui_win/article/details/136839185

相关文章

  • Golang多线程打印ABC
    packagemainimport("fmt""sync")funcThreeG(){varch1,ch2,ch3=make(chanstruct{}),make(chanstruct{}),make(chanstruct{})varwgsync.WaitGroupwg.Add(3)gofunc(sstring){deferwg.Done......
  • golang fasthttp服务端的简单实现
    使用示例:packagemainimport("github.com/buaazp/fasthttprouter""github.com/valyala/fasthttp""log")funcmain(){//创建路由r:=fasthttprouter.New()r.GET("/",Index)iferr:=fasthttp.Listen......
  • 【golang语言】
    目录数据类型基础数据类型boolstringintint8int16int32int64uintuint8uint16uint32uint64uintptrbyterunefloat32float64complex64complex128类型转换go语言不允许隐式转换别名类型和原有类型也不能进行隐式转换类型的预定义值......
  • Golang使用Socket.io
    什么是Socket.IO?Socket.io是建立在WebSocket之上的一个实时应用程序框架。它封装了WebSocket,并提供了更高级别的接口,包括实时事件处理、自动重新连接、多房间支持等功能。Socket.IO在客户端和服务器端分别有对应的库,简化了实时通信的开发。gopackagemainimport( "fm......
  • golang select底层原理
    select语句在Go语言中用于在多个通信操作(发送和接收)之间进行选择。在底层,Go运行时维护了关于每个case的状态信息,这些信息通常存储在scase结构体中。下面我将详细解释select语句的工作原理,并尝试用文字描述来模拟这一过程,因为直接在这里画图可能不太方便。首先,让我们回......
  • GoLang:云原生时代致力于构建高性能服务器的后端语言
    Go语言的介绍概念Golang(也被称为Go)是一种编程语言,由Google于2007年开始设计和开发,并于2009年首次公开发布。Golang是一种静态类型、编译型的语言,旨在提供高效和可靠的软件开发体验。它具有简洁的语法、高效的编译器和强大的并发支持。Golang的设计目标之一是提供一种简单......
  • 数组扩容golang
    packagemainimport( "fmt" "unsafe")funcmain(){ which:=make([]byte,0) which=append(which,[]byte("123")...) which1:=which fmt.Printf("which:%s varpointer:%p arrpointer%p cap:%d len:%d, w......
  • Linux 安装IntelAx211无线网卡
    https://blog.csdn.net/shikaiaixuexi/article/details/131565396sudoaptinstallgitmakesudoaptinstallflexbisongitclonehttps://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/backport-iwlwifi.gitcdbackport-iwlwifisudomakedefconfig-iwlwifi-......
  • golang 开发经验
    介绍本篇章将简述,使用golang开发的时候遇到的一些坑,随时更新中~go语法gin框架ctx.Json()细节gin配置路由函数的时候,调用的回调函数,如getBook,在调用c.JSON(200,msg{"hxdyjx",18,})时,单线程情况,必须要执行完,return之前的所有代码才会返回packagemainimport( "g......
  • golang 随机数组的性能对比测试
    最近需要用到随机数,但在随机数的生成方面遇到些问题,如加了seed后反而生成的数组是固定的,没有加是随机的,后面查资料了解到,如果seed值是一样的,序列中的值就固定的,而不加seed时,每次的都是随机的,后面想到如果用来做负载均衡呢,性能又如何。下面是源码:packagebenchimport( ......