gpt4 book ai didi

c++ - 如何验证 Internet 打印协议(protocol) (IPP)?

转载 作者:太空宇宙 更新时间:2023-11-04 14:31:45 26 4
gpt4 key购买 nike

我想验证一个 IPP 端口,例如我有像这样的 IPP http://xxx.xxx.xxx.xxx:631/ipp 和类似的方式我想验证 https ://xxx.xxx.xxx.xxx/ipp。是否存在任何 API 来验证 IPP 和 IPP-SSL(如果存在)请告诉我。

如果没有本地 API,请告诉我任何其他方法。

最佳答案

看看 IPP Sample Software在 Github 上。它由 Printer Working Group 提供(PWG),标准化 IPP(互联网打印协议(protocol))的机构。

此软件目前仍处于测试阶段,但功能已经非常强大。它提供了两个主要的命令行工具:

  1. ippserver。启动它(使用适当的选项),您将在网络上拥有一个成熟的 IPP 服务器实例,用作虚拟 IPP 打印机(或托管多个虚拟 IPP 队列的 IPP 服务器),您可以使用它来测试任何(或您自己) -written)针对IPP客户端软件。

  2. ipptool。这是一个 IPP 客户端程序,它可以将 IPP 请求的任意组合发送到网络上的任何 IPP 实例(CUPS 服务器、ippserver、支持 IPP 的打印机硬件)并验证其响应。该软件附带一些准备好的文本文件,其中包含示例 IPP 请求,所有文件名都带有 .test 后缀。

为了您的目的,您可以运行这些命令:

  1. ipptool -t -v ipp://xxx.xxx.xxx.xxx/ipp/print get-printer-attributes.test。此命令将查询任何 IPP 打印机有关其支持的 IPP 属性。这应该包括一个项目,说明其假定的 IPP 版本支持,例如 ipp-versions-supported (1setOf keyword) = 1.0,1.1,2.0.

  2. ipptool -t -v ipp://xxx.xxx.xxx.xxx/ipp/print ipp-1.1.test。此命令将针对打印机运行完整的验证套件,以测试其真实世界 IPP-1.1 合规性。

  3. ipptool -t -v ipp://xxx.xxx.xxx.xxx/ipp/print ipp-2.0.test。此命令将针对打印机运行完整的验证套件,以测试其真实世界 IPP-2.0 合规性。

  4. ipptool -t -v ipp://xxx.xxx.xxx.xxx/ipp/print ipp-2.0.test。此命令将针对打印机运行完整的验证套件,以测试其真实世界 IPP-2.0 合规性。

  5. ipptool -t -v ipp://xxx.xxx.xxx.xxx/ipp/print ipp-2.1.test。此命令将针对打印机运行完整的验证套件,以测试其真实世界 IPP-2.2 合规性。

  6. ipptool -t -v ipp://xxx.xxx.xxx.xxx/ipp/print ipp-2.2.test。此命令将针对打印机运行完整的验证套件,以测试其真实世界 IPP-2.2 合规性。

  7. ipptool -t -v ipp://xxx.xxx.xxx.xxx/ipp/print ipp-everywhere.test。此命令将针对打印机运行完整的IPP Everywhere(这是最新的 IPP 标准)验证套件,以测试其真实世界 IPP Everywhere 合规性。

为了方便你们进行此类测试,我从 IPP 示例软件创建了一个现成的可执行 AppImage,它应该能够在所有 x86_64 Linux 发行版上直接运行(无需“安装”!):

  1. 下载:

    wget https://github.com/KurtPfeifle/ippsample/releases/download/continuous/ippsample-x86_64.AppImage
  2. 使 AppImage 可执行(并可选择将其重命名为 ippsample):

    chmod a+x ippsample-x86_64.AppImage
    mv ippsample-x86_64.AppImage ippsample
  3. 查看其内置帮助屏幕:

    ippsample --ai-usage
  4. 运行它:

    ippsample ipptool -t -v ipp://xxx.xxx.xxx.xxx/ipp/print ipp-2.0.test

下面是一个 ASCIInema ascii-cast,作为如何使用 IPP 示例软件(及其 AppImage)的说明:

asciicast

关于c++ - 如何验证 Internet 打印协议(protocol) (IPP)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27171449/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com