go 语言可以拦截Linux http 的请求吗? 是所有 http请求 不是运行的当前端口

1028711909 · 2018-02-06 17:00:56 · 2406 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2018-02-06 17:00:56 的主题,其中的信息可能已经有所发展或是发生改变。


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2406 次点击  
加入收藏 微博
12 回复  |  直到 2018-02-28 17:09:10
lizhengxiang
lizhengxiang · #1 · 7年之前
dong-hao
dong-hao · #2 · 7年之前

楼上这个是监听所有的 tcp 包,但是 http 不一定通过 tcp 过来。

GreatBedAwake
GreatBedAwake · #3 · 7年之前

通过tun/tap设备,将所有发往本机的流量通过接入到tun/tap网卡,然后通过你的应用读tun/tap设备的字符文件, 就可以截获本机的所有流量。

fwhez
fwhez · #4 · 7年之前

没听懂楼主的意思,http的请求不就是指向性地访问服务器吗,监听的端口是服务器上开放的端口,发送的请求是来源于客户端的,两个不是同一个来源吧

mustcarrayout
mustcarrayout · #5 · 7年之前
dong-haodong-hao #2 回复

楼上这个是监听所有的 tcp 包,但是 http 不一定通过 tcp 过来。

您好,能解答下http为什么不一定通过tcp吗,谢谢

dong-hao
dong-hao · #6 · 7年之前
mustcarrayoutmustcarrayout #5 回复

#2楼 @dong-hao 您好,能解答下http为什么不一定通过tcp吗,谢谢

http 是应用层协议,tcp 是传输层协议,传输层不止 tcp 这一种协议,像 udp、dccp、sctp 等等很多都是传输层的协议,理论上来说 http 也是可以使用它们的。

freedbg
freedbg · #7 · 7年之前
dong-haodong-hao #6 回复

#5楼 @mustcarrayout http 是应用层协议,tcp 是传输层协议,传输层不止 tcp 这一种协议,像 udp、dccp、sctp 等等很多都是传输层的协议,理论上来说 http 也是可以使用它们的。

看来是老司机

ddxx11223
ddxx11223 · #8 · 7年之前
dong-haodong-hao #6 回复

#5楼 @mustcarrayout http 是应用层协议,tcp 是传输层协议,传输层不止 tcp 这一种协议,像 udp、dccp、sctp 等等很多都是传输层的协议,理论上来说 http 也是可以使用它们的。

不过现在http基本上都是走的tcp吧

momaek
momaek · #9 · 7年之前
dong-haodong-hao #2 回复

楼上这个是监听所有的 tcp 包,但是 http 不一定通过 tcp 过来。

http 协议的下面不是基于 tcp 的嘛?

dong-hao
dong-hao · #10 · 7年之前
freedbgfreedbg #7 回复

#6楼 @dong-hao 看来是老司机

新手新手。。

dong-hao
dong-hao · #11 · 7年之前
ddxx11223ddxx11223 #8 回复

#6楼 @dong-hao 不过现在http基本上都是走的tcp吧

基本上我们遇到的都是 tcp 作为传输层协议,但是不能把 http 和 tcp 严格划等号。

johng
johng · #12 · 7年之前

你这个要求是要实现系统级的网卡TCP流量监听,golang主要还是偏应用层一些,请调用linux c的系统api来实现。

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传