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!

posted @ 2024-09-11 14:54  科里布  阅读(43)  评论(0编辑  收藏  举报