socket套接字通信---win和linux互通(1)
一、Windows下的网络调试工具-NetAssist
下载页面
下载后无需安装,解压缩就是个exe的执行文件。
双击打开就可使用
软件界面
二、linux下的网络调试工具
nc(netcat)
1、当前系统
$ cat /proc/version
Linux version 6.6.47-current-x86 (build@armbian) (gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #1 SMP PREEMPT_DYNAMIC Mon Aug 19 04:04:32 UTC 2024
##2、TCP通信工具nc(netcat)
安装netcat
$ sudo apt install netcat
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
虚拟软件包 netcat 由下面的软件包提供:
netcat-openbsd 1.219-1
netcat-traditional 1.10-47
请您明确地选择安装其中一个。
E: 软件包 netcat 没有可安装候选
netcat有两个版本
netcat-openbsd:是一个较新的版本,通常被认为更加安全,并且具有许多有用的功能,如在后台运行的能力等。
netcat-traditional:这是较老的版本,可能更符合你以前使用 netcat 的经验,但是可能缺少一些现代的安全特性。
按照说明,安装netcat-openbsd
。
$ sudo apt install netcat-openbsd
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
下列【新】软件包将被安装:
netcat-openbsd
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 41.5 kB 的归档。
解压缩后会消耗 111 kB 的额外空间。
获取:1 http://deb.debian.org/debian bookworm/main amd64 netcat-openbsd amd64 1.219-1 [41.5 kB]
已下载 41.5 kB,耗时 13秒 (3,194 B/s)
正在选中未选择的软件包 netcat-openbsd。
(正在读取数据库 ... 系统当前共安装有 187920 个文件和目录。)
准备解压 .../netcat-openbsd_1.219-1_amd64.deb ...
正在解压 netcat-openbsd (1.219-1) ...
正在设置 netcat-openbsd (1.219-1) ...
update-alternatives: 使用 /bin/nc.openbsd 来在自动模式中提供 /bin/nc (nc)
正在处理用于 man-db (2.11.2-2) 的触发器 ...
3、UDP工具socat
安装
$ sudo apt install socat
[sudo] siit 的密码:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
下列【新】软件包将被安装:
socat
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 375 kB 的归档。
解压缩后会消耗 1,551 kB 的额外空间。
获取:1 http://deb.debian.org/debian bookworm/main amd64 socat amd64 1.7.4.4-2 [375 kB]
忽略:1 http://deb.debian.org/debian bookworm/main amd64 socat amd64 1.7.4.4-2
获取:1 http://deb.debian.org/debian bookworm/main amd64 socat amd64 1.7.4.4-2 [375 kB]
已下载 154 kB,耗时 1分 11秒 (2,186 B/s)
正在选中未选择的软件包 socat。
(正在读取数据库 ... 系统当前共安装有 187932 个文件和目录。)
准备解压 .../socat_1.7.4.4-2_amd64.deb ...
正在解压 socat (1.7.4.4-2) ...
正在设置 socat (1.7.4.4-2) ...
正在处理用于 man-db (2.11.2-2) 的触发器 ...
三、windows和linux通信
1、windows作为TCP Client
Linux作为 TCP Server
windows端使用NetAssist
,Linux端使用nc
linux终端
查看本机IP
2: enp8s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 52:54:00:e3:59:28 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.43/24 brd 192.168.122.255 scope global dynamic noprefixroute enp8s0
valid_lft 2155sec preferred_lft 2155sec
inet6 fe80::3f0e:5470:3ec2:c43a/64 scope link noprefixroute
valid_lft forever preferred_lft forever
输入
$ nc -l -p 12345
对本机端口12345开始监听
windows端
打开软件,选择TCP Client,填入远程主机地址(IP)和端口(12345)
点击连接并确定
可以看到连起来了
随便发送一些数据,点击发送。
可以看到linux终端收到了发送过来的内容
多发送几个
终端收到数据
2、windows端作为server,linux作为TCP Client。
windows端
打开软件,选择TCP Server,自动填入本机地址(IP),手动填入端口号(12345)此处随便填
点击打开
然后确定
linux端
输入
可以看到,在windows端收到了来自192.168.122.43的Hello World!