我一直在试图衡量和衡量我们局域网的吞吐量作为一个更大的项目的一部分。 我们的LAN使用cat5e和支持10/100/1000 Mbps自动感应的HP ProCurve 1800-24G交换机构build。 物理拓扑相当简单。 我们的服务器机架中有一台ProCurve,所有的服务器都连接到了(我把它错误地称为“主干”交换机)。 所有客户机所连接的三台交换机中的每台交换机都使用单独的电缆/端口连接到每个交换机的“主干”交换机。 这基本上是一个“枢纽”的devise。 我正在testing的工作站是远离“骨干”交换机的两台交换机,并且有一个旧的IDE驱动器。 我用HDTune以近似60 MB / s的速度来测量驱动器的速度。 我们的服务器是HP DL380 G5,带有一个72GB单端口15K SAS驱动器的RAID6arrays和两个3.0Ghz的Intel Xeon Duo Core CPU。 我已经阅读了其他一些关于这个主题的问题以及汤姆硬件文章,所以我知道我的实际吞吐量将远远低于1Gbitnetworking的理论最大带宽(例如, 124 MB / s的传输速率)。 然而,令我困惑的是,我正在使用netcat的数字与使用CIFS / SMB进行文件传输的时间之间的差异。 我正在使用netcat的cygwin版本,如下所示: 在“服务器”上: nc -vv -l -p 1234 > /dev/null 在“客户”上: time yes|nc -vv -n 192.168.1.10 1234 为了使用CIFS / SMBtesting文件传输速率,我只需要使用cygwin来做这样的事情: time cp local_file.iso /remote_dir/ 现在,除非我已经完成了我的math(除以秒传输字节,获得每秒字节数,并从那里转换)完全错误的转移与netcat是真的很慢。 像4-8 […]
我通过ipv6使用UDP作为通信栈。 我有networking客户端在辅助虚拟接口tap0上运行。 它为应该运行在相同的接口但是不同的链路范围ipv6地址的服务器生成消息。 我可以在wireshark上看到客户端生成的正确消息。 现在我没有准备好服务器代码,但是我正在使用netcat作为服务器的替代品来testing接收消息,我已经完成了如下操作: nc -l -6 -vvv -u fe80::d4b2:dcff:fe59:6d2%tap0 61616 fe80 :: d4b2:dcff:fe59:6d2是服务器端链路范围ipv6地址。 tap0上的Wireshark跟踪清楚地显示了生成的数据包是上面提到的ipv6地址和端口,但netcat不能接收任何数据包。 ifconfig显示我有上面的IP分配给tap0。 而且,如果我执行下面的命令,我可以在netcat(服务器)上接收数据包。 nc -6 -vvv -u fe80::d4b2:dcff:fe59:6d2%tap0 61616 < raw_message_file 奇怪的是,发送上面的netcat“raw_message_file”并不是tap0上运行的wireshark捕获的。 ping之后也不被wireshark捕获。 ping6 -I tap0 fe80::d4b2:dcff:fe59:6d2 即使在明确指定netcat和ping的接口的情况下,这个数据包是不是可以在该接口上接收/发送? PS1:客户端代码打开虚拟接口tap0。 过了一段时间后,它将消息发送到服务器上,这个服务器应该是用一些不同但固定的IPv6在该接口上监听的。 PS2:我觉得我的描述有点混乱, 请问问题,如果有的话? 编辑:本地主机上的tcpdump显示netcat和ping正在通过本地主机接口。 我的问题是,为什么?
我该如何使用netcat通过networking传输文件? IIRC类似的东西nc -l -p 12345 > destfile (在接收端)+ dd if=/dev/sourcedevice| nc ipaddress 12345 dd if=/dev/sourcedevice| nc ipaddress 12345 (在发送端)用于工作。 那就是当传输完成后,发送过程就结束了,终止了tcp连接,所以接收过程也退出了。 但是现在,发送进程只是挂起(就好像它可以在EOF之后传送任何东西),所以接收进程也挂起。 这是完全不可写的。 我也在发送端尝试了-c,但是它使得destfile具有随机大小(几乎是预期的大小)。 或者,也许有一些可靠的替代netcat?
我的networkingconfiguration: 主机1 [h1] – 通过VPN连接到主机(主机2)的用户机器。 (赢7) 主机2 [h2] – 通过我的networking的其他机器的大门。 没有防火墙,没有IP规则。 (Win XP) 主机3 [h3] – 目标机器。 (Win XP) 从h1我可以通过telnet连接到h2或者用psexec启动一个cmd行会话。 从h2我可以做同样的指向h3 。 现在我想开始从h2到h3的telnet会话,将交互输出redirect到h1,并将input从h1重新发送到h3。 我做了什么: 采取的build议: 什么是从远程Windows PC远程login而不使用RDP的最佳方式? h2 cmd通过psexec命令在h1控制台上启动,h3通过h2远程cmd行上的ncat ,空行(返回)作为结果。 我知道psexec + telnet是不可能的,netcat应该是一个很好的select,但似乎无法处理提示交互。 想法?
我想从Nagios中查询一个现在的Munin插件。 因为我想做一些计算和聚合(插件报告一段时间内的数据),而不只是看最后的值,可用的插件查询Munin的数据,如check_munin似乎不合适。 所以我的想法是获取整个fetch输出并parsing它。 这似乎是一个我不明白的理由。 如果在发出nc my-munin-node 4949后手动inputfetch my-plugin ,我会得到预期的数据输出。 如果我尝试编写脚本,它不会按预期工作: echo "fetch my-plugin" | nc my-munin-node 4949 只是什么都没有返回 (sleep 1 && echo "fetch my-plugin") | nc my-munin-node 4949 只返回这个munin-node横幅 # munin node at my-munin-node 没有任何尾随数据。 运行networking跟踪表明,远程的Munin节点确实开始发送数据,但是立即从请求者那里获得一个TCP RST 。
我试图在OS X和Linux主机之间运行networking吞吐量testing。 我希望能够测量从Linux主机到OS X主机的持续吞吐量。 我想把这个包装成一个单一的脚本,这样我可以很容易地运行它,因为我对networking进行了更改。 到目前为止,我的方法是在侦听端口的OS X主机上启动netcat( nc -l -k 20000 > /dev/null )。 然后,我将在Linux主机上启动netcat,并将数据发送到OS X主机( ssh <Linux host> 'dd if=/dev/zero | nc <OS X host> 20000 2>&1' )。 之后,我将运行netstat -i 1来测量吞吐量并将其logging到文件中。 这一切都很好,当我打开3个terminal窗口,并在前台运行这些命令。 但是,当我尝试在后台运行netcat命令时,ssh进程退出。 我已经尝试使用&和-f背景的SSH进程。 以下是完整的脚本到目前为止的样子: #!/usr/bin/env bash set -o errexit nc -l -k 20000 > /dev/null & LISTEN_PID=$! ssh <linux host> 'dd if=/dev/zero | […]
我正在寻找一个使用nc的小脚本,用于添加CORS头文件(至less是Access-Control-Allow-Origin: * ),以便我的本地离子开发应用程序访问远程web服务。
我通过Windows 7防火墙打开了端口4444,允许来自所有IP和协议的所有stream量,包括允许边缘遍历。 在那台机器上,一个netcat侦听器被设置为侦听端口4444.然后,我使用一个远程linux客户端尝试连接netcat到端口4444上的那个netcat侦听器,并且尝试超时。 这些相同的步骤导致我没有明确允许通过防火墙(4443,251等)的端口成功连接。 我检查了一下,以确保其他应用程序没有混淆在港口的活动 netstat -an | find "4444" 没有什么在这里听。 我运行: nc -nlvp 4444 -e cmd.exe netstat -an | find "4444" 然后我看到有什么东西在港口上聆听。 但 nc -nv win7pc 4444 超时。 -NMAP扫描显示端口被过滤。 – 如果我禁用Windows防火墙,它显示端口被打开。 如果我禁用Windows防火墙连接是允许的。 – 问题与nc,ncat和netcat相同 -Client是一个运行linux的VMware机器 – 主机是我在VMware盒子上连接到RDP的Win 7机器。 这里发生了什么事?
我有一个路由器连接2个networking的情况,所以我有这台机器与这个接口:作为路由器工作的虚拟机1: eth1: 193.136.200.254 eth2: 192.168.10.254 eth3: 24.200.220.254 虚拟机2: eth1: 192.168.10.2 eth1:0: 192.168.10.3 …虚拟机3: eth1: 24.200.220.2 eth1:0: 24.200.220.3 在虚拟机3我有一个与一个MySQL服务(24.200.220.3)相关联的IP,我希望连接到虚拟机2(196.168.10.2)中的服务器的客户端应该能够连接服务器(24.200.220.3)在虚拟机中3.放下networking之间的所有其他通信。 我试图做这个使用这个iptables规则: iptables -P FORWARD DROP iptables -A FORWARD -p tcp -d 24.200.220.3 -s 192.168.10.2 –sport 3306 -j ACCEPT iptables -A FORWARD -p tcp -s 24.200.220.3 -d 192.168.10.2 –dport 3306 -j ACCEPT 在虚拟机中testing这个规则3我运行命令:nc -l 24.200.220.3 3306在虚拟机2中运行:nc 24.200.220.3 3306然后我在一台机器上写了一个随机字,但是它没有出现在其他机器。 […]
当连接到公共路由服务器bgp-view.tvnetwork.hu并发出命令show ip bgp时,我观察到netcat和telnet之间的不同行为。 使用Telnet输出(通常长达几万行)被截断,为了查看它,你必须按空格键或继续(像手册页)。 当我连接到netcat时,它只是开始转储所有的输出,并在前几百行后挂起。 即使我明确地声明,我想暂停使用命令terminal length 100的第100行后,netcat不会改变行为。 你有什么想法,为什么发生这种情况,以及如何解决? 我的操作系统是Ubuntu 10.4,路由服务器运行Quagga(版本0.99.5)。 另一种类似的行为也被观察到另一个quagga路由服务器()。 与其他types的路由器(思科或杜松),该问题不会出现。 谢谢。 PS。 我也把这个问题发布到stackoverflow但服务器故障似乎更相对。 编辑: Wireshark帮助我发现问题是netcat拒绝协商窗口大小选项,尽pipe服务器请求“协商关于窗口大小”。 Netcat有一个-t参数来协商telnet选项,但是它的行为不接受任何选项(使用do not或will not作为默认值)。 所以现在的问题是如何让netcat协商窗口大小,并发送telnet发送的值80和高度25。