iperf transfer & bandwidth output is garbage on Windows 7 - windows

I'm trying to run an iperf session between Windows-7 64bit laptop, through wireless AP, to iPad running iperf server.
At Windows, I type:
iperf -c 10.31.186.128 -p 5201 -t 1
...and get this output with bad (garbage) transfer and bandwidth:
C:\PRIMARY_INSTALL\iPerf 2.0.5 as of 4-21-2015>iperf -c 10.31.186.128 -p 5201 -t 1
Client connecting to 10.31.186.128, TCP port 5201
TCP window size: 63.0 KByte (default)
[ 3] local 10.31.186.191 port 51730 connected with 10.31.186.128 port 5201
[ ID] Interval Transfer Bandwidth
[ 3] 0.0- 1.0 sec 64909840858359 bits 6572394324026484130271096932523s/sec

The problem was that those tools were incompatible.
The following solution works...
IPAD IOS7 CLIENT & WINDOWS-7 SERVER:
1. Install to Windows: iPerf v2 command line tool from:
https://iperf.fr/
Enter directory with iperf.exe
Run: iperf –s
..which starts service at port 5001.
Install and run “HE.NET Network Tools..” app onto iPad.
Select: “iPerf2” for client
(iPerf3 is not backward compatible with 2)
Enter IP of laptop.
Data rate shown at both ends.

Related

I can not open certain ports via firwall rules in Google Cloud Platform

les
I created the instance from boot image.
but always can not open port 7000 via firewall rules...and egress is (allow all), anybody knows where the problem is?
System: Debian 10
ssh in terminal and
sudo natstat -plnt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 458/sshd
tcp6 0 0 :::22 :::* LISTEN 458/sshd
Is there any way to turn the port 7000 on ?
Encoutered the same issue when tring to open other ports like 5678...etc.
First of all you need to set the GCP firewall rule as "ingress".
Ingress is needed to allow incoming connections to the instance.
Regarding the ports, it does not open or activate by itself or in automatic, you need to have a service listening on that port.
However there are some tools used which allows you to activate the port by some time for testing purposes.
You can use tools like iperf3 to activate the port.
Install iperf3 for your vm with the command below.
sudo apt-get install iperf3
Once you have installed iperf3 you need to run the command below. ("-s" indicates your instance is in "server" mode, the "-p" is to set the port you prefer)
iperf -s -p 7000
On your remote machine (Client) you also need to install iperf3, if it is also a linux machine you can try the same command I mentioned earlier.
Once you have installed iperf3 use the below comamnd to reach the VM pointing the port 7000. ("-c" indicates client mode,the "-p" is to set the port the server is listening).
iperf -c [server ip address] -p 7000
Please refer to iperf
Another useful tool is netcat

Docker for Windows Network Slow

Expected behavior
I expect the ping to be the same on the host OS than in the Docker
Actual behavior
I use Linux Container
Ping Test done on www.google.com
ping on the host OS : 6ms
ping in the docker : 11ms
Information
Windows Version: 10 build 1903
Docker Desktop Version: 2.1.4.0
I have a Docker with Fedora 29 inside.
I observed that the ping in the docker is very high compare to the ping from the host OS.
Even when i ping a site like google, the ping is higher in docker.
I also try the ping with the fedora remix distribution in WSL 2 and the ping is the same than the host OS (6ms).
WSL use Hyper-V also so i think the problem came from docker VM.
docker network : "bridge".
network card : vEthernet (Docker NAT)
I try to observe the network flow with wireshark.
On the ethernet adapter i see that the" requets ping" are the same on both Windows and Docker and the response time is the same.
But impossible to observe the packet transfert from "ethernet adapter" to "vEthernet DockerNAT" with wireshark.
This is a big problem for me because i use this docker for transferring file by sshfs and the download speed is 4 times slower with docker than WSL 2.
Do you have some idea ?
Thanks for reading :)

Windows docker container cannot ping host

I am running a windows docker container on a Windows Server 2016 host, running default configuration.
When running the docker container using the command:
docker run -it microsoft/windowsservercore powershell
When I run the command:
ping <hostIPAddress>
It just says that the request times out.
I have checked that I can ping 8.8.8.8 and google.com etc... and even other machines on the same subnet. The only one I cannot ping is the host.
I have added '--dns ' to the 'docker run' command but this only allows me to ping the host machine via hostname and not IP.
Has anyone else seen this problem and have a solution?
I found a workaround (I'm not willing to call it a solution):
Windows Container Network Drivers: create a 'transparent' network:
docker network create -d transparent trans
Attach container to this network
docker run --network=trans ...
Important: Please note, that with this network, your container needs to obtain an IP Adress from the Host Subnet and it is directly exposed to it.
maybe related (this is about access the containers from the host):
According to https://github.com/Microsoft/Virtualization-Documentation/issues/253#issuecomment-217975932 (JMesser81):
This is a known limitation in our Windows NAT implementation (WinNAT) that you cannot access the external port in a static port mapping directly from the container (NAT) host.
Hoping this might help somebody.
On Windows 10 when hosting a Linux container on 0.0.0.0:5057 I was able to ping my server from my Windows host (powershell) using the IP address of the vEthernet (Default Switch) NIC found in Control Panel>All Control Panel Items>Network Connections:
In my case I have a corporate managed McAfee firewall running on my Windows host. I could not add any additional rules on the firewall, but fortunately there was a rule that allowed access from 172.16.0.0/24.
I used "docker network create -d transparent trans" and it worked as described, but I was not happy with an IP from my host network assigned to the container.
I did the following:
docker network create --driver=nat --subnet=172.16.0.0/24 br0
Added --network=br0 to my docker run command
I am facing the same issue.
My workaround is to restart docker service, afterwards it works fine. I'm still looking for a permanent solution.
root#a6c40eb25cbf:/# ping xxx.xx.xx.xxx
PING xxx.xx.xx.xxx (xxx.xx.xx.xxx): 56 data bytes
64 bytes from xxx.xx.xx.xxx: icmp_seq=0 ttl=37 time=3.541 ms
64 bytes from xxx.xx.xx.xxx: icmp_seq=1 ttl=37 time=2.643 ms
64 bytes from xxx.xx.xx.xxx: icmp_seq=2 ttl=37 time=1.857 ms
^C--- xxx.xx.xx.xxx ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
This works for me, I hope it works for you.
Currently, you must have WSL or WSL2 installed and have Virtualization enabled to run Docker on Windows.
The installation of WSL from PowerShell is with the following command.
wsl --install -d Ubuntu
Obviously you need to download and install Docker Desktop on Windows. It will be necessary to enable the WSL integration from the Docker desktop settings after installing it.
After configuring WSL and Docker Desktop, you can create/use your containers. Example:
docker run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -d postgres
Finally you must identify the IP of WSL, you must open the Linux distribution that you installed in the first step, in our case Ubuntu, this will open your terminal and here we will execute:
ifconfig
and you will identify the ip of eth0. Example: 172.27.123.123
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.27.123.123 netmask 255.255.240.0 broadcast 172.27.127.255
inet6 fe80::215:5dff:fecf:b4 prefixlen 64 scopeid 0x20<link>
ether 00:15:5d:cf:00:b4 txqueuelen 1000 (Ethernet)
RX packets 4389 bytes 299784 (299.7 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4343 bytes 315643 (315.6 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Now you can ping from CMD in Windows to this IP.
NOTE: the connection will depend on the port of your container, example: 172.27.123.123:8080.

cannot ping www.google in a docker container when connected to one wifi

For some strange reason, I am not able to ping www.google.com when connected to one wifi.
If I disconnect from that wifi and connect to another wifi, I am able to ping www.google.com. This has happened on 2 different wifi.
While on those wifi networks, I am able to browse the web and ssh into AWS ec2.
------ On good wifi, my t-mobile hotspot ----
Joshuas-MBP:react-tutorial joshuacalloway$ docker run alpine ping www.google.com
PING www.google.com (216.58.216.68): 56 data bytes
64 bytes from 216.58.216.68: seq=0 ttl=61 time=34.701 ms
----- On 2 different wifi networks, iphone 6 t-mobile hotspot and a company guest wifi network ----
--- www.google.com ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 29.912/52.059/91.565 ms
Joshuas-MBP:react-tutorial joshuacalloway$ docker run alpine ping www.google.com
ping: bad address 'www.google.com'
docker -v
Docker version 1.10.3, build 20f81dd
On mac os X 10.11.3
Are you able to ping the IP while switching between WiFi? If you can ping the IP, then I would try one of two solutions:
Edit the /etc/resolv.conf from the host in order to use external DNS (e.g., 8.8.8.8, 8.8.4.4)
Run docker with -dns option, e.g.,
docker run -dns 8.8.8.8 -dns 8.8.4.4 base ping google.com
Or reboot the default virtualbox container:
docker-machine restart default

Cannot connect to VLC RTSP server

I am using AWS EC2 CentOS based system. I also have a website is running on it at the domain mydomain.com
I have installed VLC successfully for my server. I can do SSH and remote to my server (I can use GUI application with gnome)
I start the vlc server with the below command:
vlc --ttl 34 -vvv --color -I telnet --telnet-password vlc --rtsp-host 0.0.0.0 --rtsp-port=554
and setup the stream on it by:
root#whm [~]# telnet localhost 4212
Trying ::1...
Connected to localhost.
Escape character is '^]'.
VLC media player 2.0.8 Twoflower
Password:
Welcome, Master
> new sample01 vod enabled
new
> setup sample01 input file:///home/myuser/public_html/mywebsite/folder/video.mp4
setup
The output of the log is good.
[0x7f24a002c5b8] stream_out_rtp vod server debug: RTSP stream at /sample01
[0x7f24a002c5b8] main vod server debug: net: listening to 0.0.0.0 port 554
[0x7f24a002c5b8] stream_out_rtp vod server debug: RTSP: adding /sample01/trackID=0
[0x7f24a002c5b8] stream_out_rtp vod server debug: RTSP: adding /sample01/trackID=1
[0x7fce4802d8c8] [Media: vod] main input debug: `file:///home/myuser/public_html/video.mp4' successfully opened
If I stay on the server it self, using GUI, I can use the VLC player to open network stream URL:
rtsp://localhost:554/sample01 (it works)
If I use vlc player from another network to connect to the stream by the below URL
rtsp://mydomain.com:554/sample01 (this is the domain that is working for my website)
rtsp://my-server-public-ip.com:554/sample01 (does not work too)
I guess there is something wrong with the port, then I went to AWS console and added more port 554 and 4212 into Inbound list in the Security Group of my instance (like what I'd done for other ports), but it does not help.
The error of the vlc client is:
[000000010050e4c8] core libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
[000000010022a7e8] [http] lua interface: Lua HTTP interface
[0000000104a00978] live555 demux error: Failed to connect with rtsp://mydomain.com:554/sample01
[00000001002b2dc8] core access error: connection failed: Connection refused
[00000001002b2dc8] access_realrtsp access error: cannot connect to mydomain.com:554
[0000000100618e58] core input error: open of `rtsp://mydomain.com:554/sample01' failed
CoreAnimation: warning, deleted thread with uncommitted CATransaction; set CA_DEBUG_TRANSACTIONS=1 in environment to log backtraces.
Please help me on this to troubleshoot this problem.
My problem is solved. I have done following things to resolve it, but I am not sure which one is correct. If anyone got same issue, you could try one of these
I enable to Elastic Load Balance serivice of Amazon and add port fowarding for port 554 (RTSP default port)
The streaming server was running well on localhost on server itself but it is inaccessible from outside, I guess it is something about firewall and port.
I scan mydomain.com to see the port is open or not
nmap -v -Pn -sT mydomain.com
Temporarily disable firewall on AWS EC2 instance OR add a line into iptables to open port 554.
Open and edit file by
vi /etc/sysconfig/iptables
Add below line into it
-A cP-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dpport 554 -j ACCEPT
or shutdown the firewall absotelutely
sudo service iptables save
sudo service iptables stop
sudo chkconfig iptables off
Optional, if you are using firewall of Cpanel, you have to check the same with the allowed port of that firewall.

Resources