Windows和Ubuntu间TCP连接测试
起因是想在Ubuntu上用Synergy,但是发现爱你怎么都连不上。鼓捣了半天发现似乎Ubuntu监听,Windows测试TCP连接总是不成功,反之却能成功,大概问题就在这,尚未解决先记录一下。
基本情况
两台机子,一台运行Ubuntu22.04,一台运行Windows10。机器间用一根网线直连,Ubuntu端手动配192.168.1.1/24地址,另一边配192.168.1.2/24。
- 两者之间能ping通
- 可以保证Ubuntu侧防火墙没开,iptables也是空;几乎能确定Windows侧防火墙正常
- 之前两台机器都运行Windows10时,Synergy可以正常使用,说明原本Windows上24800端口能正常建立tcp连接
Windows服务端 ← Ubuntu客户端
Windows侧Powershell运行脚本等待连接
$listener = [System.Net.Sockets.TcpListener]::new([System.Net.IPAddress]::Any, 24800)
$listener.Start()
Write-Host "Listening on port 24800..."
$client = $listener.AcceptTcpClient()
Write-Host "Connection received!"
$stream = $client.GetStream()
$reader = New-Object System.IO.StreamReader($stream)
while ($client.Connected) {
$data = $reader.ReadLine()
if ($data) {
Write-Host "Received: $data"
}
}
$client.Close()
$listener.Stop()
Ubuntu端用ncat发送请求
nc 192.168.1.2 24800
正常建立连接,终端中传什么windows侧都能输出
Ubuntu服务端 ← Windows客户端
Ubuntu侧用ncat监听端口
nc -l 24800
此时检查nc的运行情况均无异常,检查行为如下:
- 此时执行
ss -tlnp | grep 24800检查端口情况,得到反馈LISTEN 0 1 0.0.0.0:24800 0.0.0.0:* users:(("nc",pid=30444,fd=3)),证明nc有在好好监听0.0.0.0的24800端口 - 此时运行
nc 127.0.0.1 24800尝试自己连自己,发现确实可以正确连接并传输数据,证明nc可以正确监听并建立连接
然而Windows侧Test-NetConnection或用脚本尝试建立连接却不能成功
Test-NetConnection 192.168.1.1 -Port 24800
尝试此过程中在Ubuntu侧用tcpdump抓包,发现确实有SYN报文传入,应该是Ubuntu侧没有给出回应;大概问题就出在Ubuntu的某些配置上了
sudo tcpdump -i any port 24800 -nn
## 有监听到内容
tcpdump: data link type LINUX_SLL2
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
23:13:52.328526 enp38s0 In IP 192.168.1.2.6786 > 192.168.1.1.24800: Flags [S], seq 4189060361, win 64240, options [mss 1460,nop,wscale 8,sackOK,TS val 1190883235 ecr 0], length 0
23:13:53.338401 enp38s0 In IP 192.168.1.2.6786 > 192.168.1.1.24800: Flags [S], seq 4189060361, win 64240, options [mss 1460,nop,wscale 8,sackOK,TS val 1190884245 ecr 0], length 0
23:13:55.349621 enp38s0 In IP 192.168.1.2.6786 > 192.168.1.1.24800: Flags [S], seq 4189060361, win 64240, options [mss 1460,nop,wscale 8,sackOK,TS val 1190886256 ecr 0], length 0
23:13:59.358816 enp38s0 In IP 192.168.1.2.6786 > 192.168.1.1.24800: Flags [S], seq 4189060361, win 64240, options [mss 1460,nop,wscale 8,sackOK,TS val 1190890265 ecr 0], length 0
23:14:07.373485 enp38s0 In IP 192.168.1.2.6786 > 192.168.1.1.24800: Flags [S], seq 4189060361, win 64240, options [mss 1460,nop,wscale 8,sackOK,TS val 1190898280 ecr 0], length 0
^C
5 packets captured
5 packets received by filter
0 packets dropped by kernel
Windows和Ubuntu间TCP连接测试的更多相关文章
- 【NodeJs】Ctrl+C在Linux平台和Windows平台下的TCP连接中的不同表现
Linux平台:CentOS release 6.5 (Final) Windows平台:Windows 7 旗舰版 服务器端代码如下: var net = require('net'); var s ...
- .NET在单台Windows2008下百万TCP连接测试
测试客户端: 客户端程序建立TCP连接,发送一条几个字节的数据. 虚拟机8台,PC机8台,服务器1台. 设置MaxUserPort=60000,有一台机没有设置约在1.5万左右.最后因为差一点到100 ...
- ubuntu系统TCP连接参数优化-TIME_WAIT过多解决办法
状态:描述CLOSED:无连接是活动的或正在进行LISTEN:服务器在等待进入呼叫SYN_RECV:一个连接请求已经到达,等待确认SYN_SENT:应用已经开始,打开一个连接ESTABLISHED:正 ...
- 计算机网络(11)-----TCP连接的建立和释放
TCP连接的建立和释放 概述 TCP运输连接的建立和释放是每一次面向连接的通信中必不可少的过程,运输连接有三个阶段:连接建立,数据传送和连接释放. TCP连接的建立 如图所示,假定A主机是客户端程序, ...
- 超出TCP连接端口数限制(MaxUserPort)引起的服务器问题
昨天2台Windows Server 2012服务器出现奇怪的问题,自己竟然连不上自己的本机80端口,telnet 127.0.0.1 80也连不上,而更奇怪的是其它服务器可以连接到这2台服务器的80 ...
- TCP 百万并发 数据连接测试 python+locust
过程笔记和总结 尝试一.locust 测试百万Tcp并发 另一种方式是使用jmeter 基础环境 服务端 虚拟机:Centos7.2 jdk 1.8 客户端 虚拟机: Centos7.2 python ...
- remote desktop connect btw Mac, Windows, Linux(Ubuntu) Mac,Windows,Linux之间的远程桌面连接
目录 I. 预备 II. Mac连接Windows III. Windows连接Mac IV. Windows连接Ubuntu V. Mac连接Ubuntu VI. Ubuntu连接Mac VII, ...
- zabbix监控 linux/windows 主机tcp连接状态
更新内容:1).增加了对windows主机的tcp连接状态的监控2).修改linux主机的监控配置,使linux与windwos主机能够使用相同的模板tcp的连接状态对于监控服务器,尤其是Web服务器 ...
- mongodb在Windows安装配置及遇到的问题、java连接测试
一.安装 1.访问mongodb的官网http://www.mongodb.org/downloads下载64bit的包,我下载的是mongodb-win32-x86_64-2008plus-ssl- ...
- Windows 10下怎么远程连接 Ubuntu 16.0.4(小白级教程)
前言: 公司因为用Ruby做开发,所有适用了Ubuntu系统,但是自己笔记本是W10,又不想装双系统,搭建开发环境,便想到倒不如自己远程操控公司电脑,这样在家的时候也可以处理一些问题.故此便有了下面的 ...
随机推荐
- Getting Started with JavaFX
https://openjfx.io/openjfx-docs/#maven Run HelloWorld using Maven If you want to develop JavaFX appl ...
- Qt音视频开发40-ffmpeg采集桌面并录制
一.前言 之前用ffmpeg打通了各种视频文件和视频流以及本地摄像头设备的采集,近期有个客户需求要求将整个桌面屏幕采集下来,并可以录制保存成MP4文件,以前也遇到过类似的需求,由于没有搞过,也没有精力 ...
- Qt开源作品30-农历控件
一.前言 农历控件在国产linux中必备的控件之一,毕竟要适应国人的习惯,你看win10系统的日历,现在点开来直接就有农历在上面,非常方便人性化,所以在很多用Qt做的项目中,也有农历控件的应用场景,而 ...
- Qt编写的项目作品30-录音播放控件(雨田哥作品)
一.功能特点 使用FMOD音频引擎开发,支持跨平台,虚拟频道,插件设计. 数字回放,多个声卡,多路输出,多路输入. 自定义回放延迟,网络特性. 支持类型:DLS.M3U.ASX.WAX.PLS.AIF ...
- 大型IM稳定性监测实践:手Q客户端性能防劣化系统的建设之路
本文来自腾讯手Q基础架构团队杨萧玉.邱少雄.张自蹊.王褚重天.姚伟斌的分享,原题"QQ 客户端性能稳定性防劣化系统 Hodor 技术方案",下文进行了排版和内容优化. 1.引言 接 ...
- 基于Redis有序集合实现滑动窗口限流
滑动窗口算法是一种基于时间窗口的限流算法,它将时间划分为若干个固定大小的窗口,每个窗口内记录了该时间段内的请求次数.通过动态地滑动窗口,可以动态调整限流的速率,以应对不同的流量变化. 整个限流可以概括 ...
- 编译Ubuntu 24.04 LTS 内核(BuildYourOwnKernel)
1.配置环境 修改apt源 修改 /etc/apt/sources.list.d/ubuntu.sources ,添加 "deb-src"到 Types:,修改后的文件内容如下: ...
- Android增加USB Camera摄像头驱动支持
一般情况下kernel需要添加以下宏 ================================= CONFIG_VIDEO_DEV=yCONFIG_VIDEOBUF2_CORE=yCONFIG ...
- Note -「q-analog」组合意义灭天地
(搁置, 填坑看心情.) \[\mathfrak{Defining~\LaTeX~macros\cdots} \newcommand{\qnum}[1]{\lbrack{#1}\rbrack_q} ...
- nginx.conf参数优化详解
1.Niginx主配置文件参数详解 a.上面博客说了在Linux中安装nginx.博文地址为:http://www.cnblogs.com/hanyinglong/p/5102141.html b.当 ...