Articles of tcp

TCP在交互式会话中挂断

我在我的机构内部网上遇到问题。 我坐在A的前面,试图连接到另一个城市的服务器B. 我的ssh会话经常挂断,尤其是当我在$ PAGER中有很多的屏幕输出或者页面加/减或者在GNU屏幕中改变窗口的时候。 在ssh会话中,X11转发速度太慢,无法使用。 我的vrdp会话(使用VBoxHeadless)也会挂断很多,通常是在远程客户机操作系统内部拖动一个窗口。 我试着用tcpdump来弄清楚为什么,并且注意到在挂断之前,很多带有PSH标志的数据包被发送,过了一段时间后,很多来自B的ACK数据包同时被发送。 从A到B的延迟时间为40ms,traceroute为4跳。 wget给出的吞吐量平均为〜50Mbps,但速度非常不稳定。 所有这三个路由器都与Cisco IOS 12.X(用nmap标识)。 什么似乎是问题? 我怎样才能就这个问题进行更多的调查? 任何提示或想法表示赞赏。

networking性能下降(Ubuntu)

我没有设置这个 NodeJs TCP服务器,并用消息flooder进行testing。 只是看看服务器的性能如何。 虽然消息吞吐量是伟大的,如果我在同一台计算机(Ubuntu)上运行服务器和消息flooder,吞吐量dramaticaly减less,如果我启动computer1(ubuntu1)和计算机2(也是Ubuntu)上的消息flooder的服务器。 两台PC都在同一个networking上。 事实上,它们是直接相连的。 我开始search互联网的原因,我想我需要在两个Ubuntu的PC上调整TCP,但直到现在我还没有成功。 有没有人遇到这样的问题,或有人可以帮我吗? 谢谢 这里泛滥的代码是: var net=require('net') var client = net.createConnection(5000, "10.0.0.2") client.addListener("connect", function(){ for(var i = 0; i < 1000; i++) { client.write("message "); } })

使用socat或任何其他tcp转发器通过SSH进行TCP转发,在sshd上禁用tcp转发

我想要做的是有一个用户,可以端口转发,但只有一个特定的主机和端口。 我已经通过ssh禁用TCP转发为该用户,并根据sshd_config的手册,我应该仍然能够与其他工具,我不知道该怎么做的端口转发。 编辑:find一个更好的解决scheme,在sshd_config中使用匹配和PermitOpen

Rsyslog不从远程服务器logging

我正在尝试build立一个集中的日志服务器。 我有中央服务器(A)通过端口514上的远程服务器(B)接收日志。我知道它正在接收这些。 以下是来自514端口上的tcpdump的一些条目 # tcpdump port 514 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes 10:49:52.136520 IP IP_FROM_SERVER_B.55558 > IP_FROM_SERVER_A.syslog: SYSLOG local0.notice, length: 474 10:49:52.136792 IP IP_FROM_SERVER_B.55558 > IP_FROM_SERVER_A.syslog: SYSLOG user.notice, length: 671 10:49:52.136838 IP IP_FROM_SERVER_B.55558 > IP_FROM_SERVER_A.syslog: SYSLOG user.info, length: […]

为什么OS X花费更多的数据包来build立和closuresTCP连接?

Linux花费3个数据包build立TCP连接,3个数据包closures,如tcpdump捕获所示 # establishing TCP connection 22:37:09.150456 IP 127.0.0.1.49327 > 127.0.0.1.8000: Flags [S], seq 598953185, win 65535, options [mss 1368,nop,wscale 4,nop,nop,TS val 808887890 ecr 0,sackOK,eol], length 0 22:37:09.150498 IP 127.0.0.1.8000 > 127.0.0.1.49327: Flags [S.], seq 1017784291, ack 598953186, win 14480, options [mss 1460,sackOK,TS val 116674605 ecr 808887890,nop,wscale 6], length 0 22:37:09.159764 IP 127.0.0.1.49327 > 127.0.0.1.8000: Flags […]

在后台运行ncat

从某个时候我试图解决非常恼人的问题: 我需要有一个简单的服务器,它将监听特定的TCP端口,并将所有收到的信息丢弃到垃圾箱。 我正在通过运行ncat: ncat -l 192.168.1.1 49111 -k -m 50 由于everyting工作正常,我想在后台运行ncat。 经过一些testing,我决定保持屏幕运行: screen -dm ncat -l 192.168.1.1 49111 -k -m 50 而且,除了一件事情之外,一切工作都很好:不pipe什么时候-m参数,它都会不时地拒绝连接。 有时几分钟后,有时几个小时后……只有这样才能使其工作,就是杀死进程并重新启动。 你有类似的问题吗? 或者,也许你可以build议我另一个解决scheme 我正在使用CentOS在虚拟化工作站工作。 你觉得在虚拟机上工作可能会导致这个问题?

基准tcp:ab或iperf像工具发送hex/二进制/ pcap数据?

我已经写了一个扭曲的服务器,目前正在进行的项目,现在我需要testing它。 它接收TCP数据包,有效负载只包含一个序列化的二进制string。 我希望能够使用二进制数据作为有效负载来testing服务器的并发/吞吐量,但找不到任何工具来允许我这样做。 我尝试了iperf -F但它不工作,因为我认为它是发送二进制/hex数据作为字符。 我也看过似乎是完美的ab – 如果只有HTTP。 除了这些,我已经看了tcpreplay ,但它不执行任何testing(或build立TCP连接),所以没有太大的用处。 任何帮助将不胜感激,因为我相当坚持这一个!

AIXnetworking参数closures已拔出设备的TCP套接字

我们有一个AIX机箱,运行我们所称的银行“ATM交换机”,而不是ATMnetworking交换机,而是银行ATM驱动程序。 我们有一些ATM机连接到两个服务器进程。 问题是,当我们断开任何这些机器时, netstat -na| grep <port number> netstat -na| grep <port number>命令显示为此断开连接的设备build立的套接字仍然build立,我们必须从软件手动发送一个命令使套接字意识到它不再有效。 有一个tcp级别的参数,使这个连接在一两分钟内意识到这个设备没有连接了吗? 我们有以root权限设置的以下参数: no -o tcp_keepidle=1000 no -o tcp_keepcnt=2 no -o tcp_keepintvl=150 no -o tcp_finwait2=100 它最初有默认值。 但即使在我们改变这些参数并重新启动服务器进程之后,问题依然存在。

我怎样才能把所有连接都放到FreeBSD下的给定主机上?

我知道基地分布的tcpdrop 。 但是这个工具需要指定端口号。 有什么工具可以通过IP删除连接吗?

无法连接到本地服务器

我将客户机/服务器应用程序从Linux迁移到Windows,而Linux版本的服务器工作正常,Windows版本不会通过本地主机连接。 当程序尝试协商连接时,我从netstat -a(忽略不相关的行)看到以下内容。 活动连接 原始本地地址外部地址状态 TCP 0.0.0.0:9000 mgibson-dev:0 LISTENING TCP 0.0.0.0:9002 mgibson-dev:0 LISTENING TCP 127.0.0.1:9001 mgibson-dev:0 LISTENING TCP [:: 1]:52403 mgibson-dev:9001 SYN_SENT TCP [:: 1]:52404 mgibson-dev:9001 SYN_SENT 看来服务器正在尝试通过IPv6进行响应。 这是正常的,它应该工作吗? 我在看问题还是只是一个红鲱鱼?