草庐IT

网络通信

全部标签

ssh - 通过 Tor 网络访问 ssh 客户端

我有一个在一台机器上运行的openSSH服务器,一台远程机器可以使用一个用go编写的应用程序在上面写入文件。SSH相当安全,尽管我知道torssh服务器,如果我使用它会增加额外的安全性。我很困惑这里的场景是什么?就像在tor网络上运行两台机器一样简单吗?我一直在阅读并看到this其中opensshd仅监听127.0.0.1端口22,然后必须运行隐藏服务到22127.0.0.1:22。如果我正确理解了这个,我是否只需要ssh------.onion-luser?任何人都可以阐明这一点吗? 最佳答案 Tor公开了一个SOCKS接口(in

go - 我可以在共享网络服务器上使用 go 来生成 HTML 吗?

通常我使用C#来处理所有事情,我可以使用C#创建桌面应用程序,并将许多相同的C#代码放在我共享的托管Web服务器上的dll中。这为我节省了大量编码时间。go有什么办法吗?例如在我托管的Web服务器上放置某种godll以生成HTML。我知道go不执行dll,我也知道创建一个go监听端口80的Web服务器很简单。但这不是共享Web服务器的解决方案。这似乎是go的绝妙用法,但令我惊讶的是这可能是不可能的。我应该提一下,如果go代码不必在每次http请求时都重新启动,那就太好了。这是我用C#做的:在Web服务器上,我添加了一个像这样的aspx页面:它只是加载基于http请求生成HTML的C#d

go - 使用 Golang 与 hiveserver2 通信

我在OracleVirtualBox中安装了hortonworksHDP沙箱。我已经授予了对端口10000的访问权限。在配置单元配置中,hiveserver2thrift端口也设置为10000。我正在使用https://github.com/derekgr/hivething包装器来获取连接。即使hiveserver2正在运行,我似乎也无法连接到上面提到的包装器。我尝试了示例程序。但它在“db,err:=hivething.Connect("127.0.0.1:10000",hivething.DefaultOptions)”行之后没有任何意义。它甚至没有达到它下面的if条件。所以它会

linux - 从 Go 访问 Linux 网络 API

我想用Go编写一个简单的实用程序来管理Linux上的网络(有线和无线)连接,类似于NetworkManager和WICD的软件。在Go中访问LinuxAPI的正确方法是什么?我应该使用C绑定(bind)和nativeLinuxAPI调用、执行命令并解析其输出,还是可能有一些库旨在执行我想执行的操作? 最佳答案 您很可能想使用cgo因为调用任何CAPI真的很容易一个额外的好处是,随着时间的推移,CAPI通常非常稳定,因为库创建者几乎总是选择新函数而不是破坏现有函数的API。运行命令行工具和解析输出很容易出错,因为您调用的软件很可能会超

go - golang中处理websocket通信的设计实践

我是新手,正在尝试通过更换nodejs服务器来学习它。我的nodejs服务器具有以下组件:它收到来自客户端的websocket消息。客户端将为消息提供唯一ID和key。服务器将根据key处理消息(很像REST接口(interface)),并使用唯一ID将消息返回给客户端,以便客户端知道服务器正在响应的消息。对于某些消息,服务器会生成一个外部进程(每个连接一个)。然后,服务器将充当生成进程的“客户端”,发送具有唯一ID的JSON消息并接收回数据。此实例中的服务器充当派生进程和客户端之间的中介。在node上让它正常工作是微不足道的。我只是将生成的进程添加到我的“主”中的连接并在主中使用了回

eclipse - 如何安装基于 golang 的所有内部文件夹的网络应用程序

如何使用“goinstall”或任何其他命令安装/部署带有内部文件夹的网络应用程序。我构建了一个具有以下文件夹结构的小型网络应用程序。SampleWebApp|---swa.go|---static/|---css/x.css|---js/y.js|---html/z.html我正在使用eclipseide,当我运行goapp时,它运行良好(http://localhost:8080)但是当我使用命令行安装时使用goinstall并尝试(http://localhost:8080)得到404错误。“goinstall”命令肯定不会将内部文件夹复制到可执行文件中。

go - 无法使用 GO 中的网络库执行简单的 HTTP POST。我究竟做错了什么?

我正在尝试使用网络库(不是net/http)进行简单的RAW数据上传。我有一个简单的php脚本,它会吐出发送给它的任何内容。问题是php脚本没有收到任何东西。我做错了什么?conn,err:=net.Dial("tcp","127.0.0.1:80")fmt.Fprintf(conn,"POST/handleupload.phpHTTP/1.0\r\n\r\n")n,err:=conn.Write([]byte("ABCDEFGHIJ"))status,err:=bufio.NewReader(conn).ReadString('z')fmt.Println(status)

golang 网络模块(LookupSRV)

我是golang的新手,我对python有一些经验,但据说还没有达到这个水平。我正在创建一个名为“digall”的应用程序,使用户在检查域名时可以轻松查看事件的dns记录。在我使用的应用程序中,LookupSRV,我似乎遇到了一些问题:funcsrvRecord(querystring){service:="sipfederationtls"protocol:="tcp"fmt.Printf("\n[+]SRVRecord(s)\n")//srvMap:=["sipfederationtls","autodiscover","VLMCS"]cname,addresses,err:=ne

go - 没有任何网络框架的GO中URL中的路径参数

在使用Go开发RESTapi时,我们如何使用路径参数?意思是说URI的格式是什么?http://localhost:8765/myapp/{param1}/entries/{param2}我尝试使用类似这样的方法来创建路由,但未调用处理函数。请注意,我打算只使用net/http包,而不是任何其他网络框架,如gorillamux。 最佳答案 我倾向于做的是嵌套处理程序。“/”由根处理程序处理。它弹出路径的第一部分,将其余部分分配回req.URL.Path(有效地类似于StripPrefix),确定哪个处理程序通过该前缀处理路由(如果任

go - go 对象组件可以以复合模式相互通信吗?

我正在尝试实现复合设计模式。我了解了如何组合对象的对象。在这个例子中,我有一个运动员和游泳功能。typeAthletestruct{namestring}typeCompositeAthletestruct{athleteAthleteTrainfunc(namestring)}但是如果我需要在创建组合对象后传递名称:comp:=CompositeAthlete{athlete:athlete,Train:Swim,}comp.Train(athlete.name)是否有可能注入(inject)一个能够读取被注入(inject)对象内部的方法;packagemainimport("fm