草庐IT

tcp_proxy

全部标签

networking - UDP 和 TCP 数据包有什么区别?你用它们做什么?

我昨天正在配置IPtable。我的同事刚问了我这个问题,我无法回答。我意识到我是一个比系统管理员更好的开发人员,并且需要改进这一点。那么它们是什么?他们有什么用?缺点/优点(如果相关)。 最佳答案 这些都是基本问题。UDP::用户数据报协议(protocol)1)机器之间没有端到端连接(可能在本地网络或互联网中的某个地方)。2)接收端接收到的数据不是像TCP那样是流式的,而是一个完整的数据block。3)在传输层不执行数据包顺序检查。也就是说,如果接收到的数据包出现任何错误,接收方将不会要求向发送方重新发送相同的数据包。4)由于上述

Java 套接字 : TCP Checksum Incorrect

我正在尝试使用Java套接字。我可以连接到套接字并发送/接收数据字节而没有问题。但是,我还使用wireshark嗅探流量,并注意到来自java套接字的每个数据包都被wireshark标记为“tcp校验和不正确”。有人有什么见解吗?Java版本“1.6.0_12”Java(TM)SE运行时环境(build1.6.0_12-b04)JavaHotSpot(TM)客户端VM(build11.2-b01,混合模式,共享)Wiresharkv1.0.6带WinPcap4.0.2 最佳答案 我发现在很多情况下,使用Wireshark之类的工具会

search - wireshark 在 TCP 流中搜索字符串

我需要能够搜索包含特定字符串的所有tcp流,而不仅仅是特定数据包。像这样的东西:tcp.stream包含“字符串”我需要执行此操作以过滤掉所有包含特定字符串的流,以准确获取我要查找的内容。我的最终目标过滤器看起来像这样:!(tcp.stream包含“我不想要的字符串”) 最佳答案 你有两个选择:选项1-显示过滤器:试试下面的显示过滤器tcpandframecontains"xxxxxx"选项2-Ctrl+F:查找(Ctrl+F)按字符串查找在数据包字节中搜索 关于search-wires

android - Adb reverse tcp 无法在远程连接的 android 上运行

我正在尝试在远程连接的android设备上执行反向tcp命令(使用adbconnect)。但是我在执行时遇到以下错误:adb-s192.168.0.101reversetcp:8081tcp:8081error:morethanonedevice/emulator但我只连接了一台设备。adbdevicesListofdevicesattached192.168.0.101:5555device如果我使用USB连接我的设备,同样的命令可以正常工作。有什么想法吗? 最佳答案 我刚刚遇到这个,虽然没有一个答案有效,但我最终让它重复工作。按

tcp - Digital Ocean 上的负载均衡 Websockets

我正在尝试配置DigitalOceannative负载均衡器以分配websockets流量。我设置规则:尝试通过负载均衡器连接时,我得到:VM915:1WebSocket连接到“ws://{loadbalancerip}:8443/”失败:连接在收到握手响应之前关闭。直接连接工作得很好。那么我该如何配置负载均衡器来平衡websockets流量呢? 最佳答案 就DigitalOceanLoadBalancer不支持开箱即用的websockets而言,我不得不购买一个小型实例并在其上配置Nginx以平衡3台本地机器之间的传入流量.这是N

performance - 如何在不嗅探的情况下测量 TCP/IP 开销?

我想知道是否有一种编程方式来衡量通过TCP流发送数据时使用的全部带宽。因为我似乎不知道网络堆栈如何将流分成数据包,或者它何时发送TCPSYN或ACK或它在后台为您做的许多事情,所以我只能对此进行粗略估计。我能想到的唯一解决方案是实际嗅探界面,但我想堆栈已经可以为我收集这些统计信息。它在Windows或Linux下以Java运行(当然,首选可移植解决方案),但我可以JNI化C/C++答案,这样(和操作系统API调用)也是一个很好的答案。谢谢! 最佳答案 [Windows特定答案]在Windows上,您可以考虑查看ETW(Windows

c# - 当所有者进程已经被杀死时关闭 TCP 连接

我有一个Windows服务,当它启动时,它会打开一些WCF服务来监听8000端口。碰巧这个服务有时会崩溃。当它这样做时,TCP连接不会被释放,因此如果我尝试再次启动它,会导致我的服务抛出异常:AddressAlreadyInUseException:ThereisalreadyalisteneronIPendpoint0.0.0.0:8000一些观察:运行时CurrPorts或netstat-ano,我可以看到8000端口仍在使用中(处于LISTENING状态)并且由进程IDXXX拥有对应于我的服务进程ID。但是我的服务已经崩溃了,并且不再出现在任务管理器中。因此我无法终止释放端口的进

tcp - 我可以将 ZeroMQ 与基于软件的负载均衡器 HAProxy 一起使用吗?

HAProxy是一个基于软件的负载均衡器,支持http和tcp分布。如果我使用启用实用多播(pgm)的ZeroMQ,使用HAProxy作为zmq对等点之间的中介是否会与pgm冲突,或者我应该使用基于硬件的负载平衡器,如F5? 最佳答案 没有。PGM(IANAIP协议(protocol)编号113)不是TCP(IANAIP协议(protocol)编号6)。HAProxy是一个HTTP和TCP负载平衡器。 关于tcp-我可以将ZeroMQ与基于软件的负载均衡器HAProxy一起使用吗?,我们

c++ - 如何在C++中使用无锁循环缓冲区实现零拷贝tcp

我有多个线程需要使用TCP流中的数据。我希望在共享内存中使用循环缓冲区/队列来读取TCP套接字。TCP接收将直接写入循环队列。消费者将从队列中读取。此设计应启用零复制和零锁定。但是这里有两个不同的问题。从TCP套接字中只读取1条逻辑消息是否可能/有效?如果没有,并且我阅读了超过1条消息,我将不得不将残差从这条复制到这条->下一条。真的可以实现无锁队列吗?我知道有原子操作,但这些也可能很昂贵。因为所有的CPU缓存都需要失效。这将影响我所有24个核心上的所有操作。我对低级TCP有点生疏,不太清楚如何判断消息何时完成。我是在寻找\0还是特定于实现?类型 最佳答案

Java TCP/IP Socket 写入性能优化

服务器环境Linux/RedHat6coresJava7/8关于申请:我们正致力于使用Java开发低延迟(7-8毫秒)的高速交易平台。满足算法条件后发送多边订单问题使用TCP/IPjava.net.SocketAPI(使用java.io.OutputStream.write(bytes[]arg0))的交换订单。Profiler测量记录为5-7微秒,根据我们的低延迟要求,这是非常高的。我们没有按照stacktrace中发布的问题之一的建议使用setPerformancePreferences()api。问题java.net.Socket的任何替代方案以减少套接字传输时间?任何提高性能的