AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 760490
Accepted
Andy Foster
Andy Foster
Asked: 2016-03-01 05:36:46 +0800 CST2016-03-01 05:36:46 +0800 CST 2016-03-01 05:36:46 +0800 CST

乱码的 SSH 数据包、乱码的 HTML 数据包,但并非在所有情况下

  • 772

尝试联系来宾 VM 时,我遇到了一个非常奇怪的问题,即数据包上的标头丢失。

我有运行 CentOS 7 和 VirtualBox v.5.0.14 的裸机。然后我有一个使用桥接网络运行 Ubuntu 15.10 的来宾。它很高兴地从我们的 DHCP 服务器中获取了它的 IP 地址。来宾正在运行 SSH 和 Apache。

在以下测试中使用的 VirtualBox 主机、来宾和所有客户端上都禁用了所有防火墙。

我可以从访客通过 SSH 连接到我们网络上的任何其他 Linux 主机。我还可以连接到由 Windows 主机提供的 Windows Samba 服务 =D

  • 从 VirtualBox 主机访问来宾时,SSH 和 Apache 工作。同样,我可以从 guest =D SSH 到 VBox 主机
  • 从 Ubuntu 笔记本电脑访问来宾时 SSH 和 Apache 工作 =D
  • 从 CentOS 7 VM 访问来宾时 SSH 和 Apache 工作 =D
  • 在 Windows 中使用 PuTTY SSH 到 VBox 主机工作正常 =D

一切正常,对吧?

  • 来自任何使用 PuTTY 的 Windows 主机的 SSH 会导致“数据包在解密时出现乱码”错误 =(
  • 任何 Windows 主机上的 Apache 都会导致无法理解的文本输出到屏幕,或者它会尝试下载包含相同无法理解的文本的文件,具体取决于浏览器 =(

使用 Solaris 获取 Apache 网页或 SSH 可以让我们更深入地了解一些情况。我猜它的行为与 Windows 主机相同,除了我们得到更多的调试输出。

ssh fullyqualifiedguesthostname
0000 0000 0000 a89f
Disconnecting: Bad packet length 0.

该行数字的结尾每次都不同,带有一个十六进制字符串。即 0000 0000 0000 xxxx

当使用 wget 获取网页时...

wget --no-proxy fullyqualifiedguesthostname
--09:57:38--  fullyqualifiedguesthostname
       => `index.html'
Resolving fullyqualifiedguesthostname... x.x.x.x
Connecting to fullyqualifiedguesthostname|x.x.x.x|:80... connected.
HTTP request sent, awaiting response... 200 No headers, assuming HTTP/0.9
Length: unspecified

[      <=>                            ] 11,638         2.33K/s

09:57:43 (2.33 KB/s) - `index.html' saved [11638]

注意No 标头,假设 HTTP/0.9

此外,下载这个 11Kb 文件需要几秒钟的时间。

在 Ubuntu 主机上使用 wget:

wget --no-proxy fullyqualifiedguesthostname
--2016-02-26 10:08:06--  fullyqualifiedguesthostname
Resolving fullyqualifiedguesthostname (fullyqualifiedguesthostname)... x.x.x.x
Connecting to fullyqualifiedguesthostname (fullyqualifiedguesthostname)|x.x.x.x|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 11321 (11K) [text/html]
Saving to: ‘index.html’

100%[=========================================================>] 11,321      --.-K/s   in 0s

2016-02-26 10:08:06 (160 MB/s) - ‘index.html’ saved [11321/11321]

没有问题,没有关于缺少标题的消息,正如您所期望的那样,眨眼间就完成了。

现在这里是下载到 Solaris 主机上的 index.html 文件的第一行:

cat index.html
.1 200 OK
Date: Fri, 26 Feb 2016 10:18:26 GMT
Server: Apache/2.4.12 (Ubuntu)
Last-Modified: Tue, 26 Jan 2016 15:38:24 GMT
ETag: "2c39-52a3e79e18489"
Accept-Ranges: bytes
Content-Length: 11321
Vary: Accept-Encoding
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html

正常的、不受干扰的 HTML 代码如下。

在 Ubuntu 主机上下载的 index.html 文件不包含这些第一行。它只是 HTML 代码。

我假设缺少的标题是从 Windows 主机访问网页时导致无法理解的文本的原因 - 浏览器不知道文件是什么,因此不知道如何显示它。我还假设 SSH 失败也是如此 - 缺少标头。

我还应该注意,我可以从任何地方 ping 来宾,Windows、Linux、Solaris。

我认为这几乎涵盖了这个混乱网络中的所有变量。

有谁知道到底发生了什么?

ubuntu
  • 1 1 个回答
  • 132 Views

1 个回答

  • Voted
  1. Best Answer
    Andy Foster
    2016-08-11T02:27:04+08:002016-08-11T02:27:04+08:00

    我将客户操作系统的网络适配器类型更改为“准虚拟化网络(virtio-net)”,所有问题都消失了。

    • 0

相关问题

  • 无法通过 Ubuntu VPN 访问外部网络

  • ubuntu apt-get upgrade - 如何在 shell 中单击确定?

  • VirtualBox 上 Ubuntu 的访客优化技巧 [关闭]

  • 外部硬盘上的 virtualbox 虚拟硬盘驱动器(Vista 主机上的 ubuntu 客户机)

  • 如何在 Ubuntu 上挂载 LVM 分区?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve