dqayok7935 2019-08-19 21:35
浏览 107

在Internet界面上侦听时是否有丢弃数据包的方法?

Let's say an HTTP server is running on port 8080. I want all packets on "eth0" that have destination port 8080 in their TCP header and some other condition is met(for instance URG flag is up) to be dropped before reaching the server (with other words the server should not be able to see these packets). Something like a "firewall".

I need a Go implementation. So far I managed to capture the network traffic on "eth0" and I know how to filter it. Is there any way I can drop the packets that I captured by the following program:

package main

import (
    "github.com/google/gopacket"
    "github.com/google/gopacket/pcap"
    "fmt"
    "log"
    "time"
)

var (
    device string = "en0"
    snaplen int32 = 65535
    promisc bool = false
    err error
    timeout time.Duration = -1 * time.Second
    handle *pcap.Handle
)

func main() {
    handle, err = pcap.OpenLive(device,snaplen,promisc,timeout)
    if err != nil {
        log.Fatal(err)
    }
    defer handle.Close()

    packetSource := gopacket.NewPacketSource(handle,handle.LinkType())

    for packet := range packetSource.Packets() {
        fmt.Println(packet)
    }
}
  • 写回答

1条回答

  • douzinei6926 2019-08-22 19:24
    关注

    You can try to do it with go binding of netmap https://github.com/pragus/gonetmap

    评论

报告相同问题?

悬赏问题

  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮