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 / 问题 / 25721
Accepted
Michael Galos
Michael Galos
Asked: 2009-06-16 01:05:08 +0800 CST2009-06-16 01:05:08 +0800 CST 2009-06-16 01:05:08 +0800 CST

如何通过 TCP/IP 捕获 postscript 输出?(用于测试目的)

  • 772

我们有一个专有系统,可以通过 TCP/IP 与多个站点上的各种打印机进行通信。系统只输出 Postscript,显然是通过 TCP/IP 发送的。我真的很想知道有没有什么软件可以安装在我的电脑上,我可以像虚拟打印机一样设置它来捕获这个 postscript 数据。

这将使我能够执行各种测试,以确保报告完好无损。我们无法访问底层系统或数据库,因此必须在输出时捕获此后记。

我不需要将其转换为 PDF 或任何其他格式,但这会很好。

printing tcpip
  • 7 7 个回答
  • 9242 Views

7 个回答

  • Voted
  1. David Pashley
    2009-06-16T01:09:10+08:002009-06-16T01:09:10+08:00

    你没有说这是什么操作系统,但你可以使用 TCPflow、wireshark 或 tcpdump 之类的东西来捕获通过网络发送的数据包。

    如果这是 Windows,我相信在过去,大多数打印机对话框都允许您打印到文件。这可能是相关驱动程序的输出。自从我使用 Windows 以来已经很长时间了,您可能可以放心地忽略这一段。这可能是 Windows 3.11 的事情。

    • 3
  2. Best Answer
    Michael Galos
    2009-11-04T14:42:23+08:002009-11-04T14:42:23+08:00

    这就是我解决这个问题的方法:

    我设置了 RawPrinterServer,它将在端口 9100 上作为服务进行侦听。然后我安装了 RedMon 和 Ghostscript。

    Redmon 允许我在 Windows 中创建一个自定义打印机端口,它将打印作业转发到您喜欢的任何软件。

    Ghostscript 将解释传入的后记并将其输出为 PDF。

    我在 Windows 中创建了一个打印机,它带有一个指向 ghostscript 可执行文件的自定义重定向端口。

    程序路径:C:\BIN\gs\gs8.63\bin\gswin32c.exe

    参数:-sDEVICE=pdfwrite -dPDFX=true -dNOPAUSE -dSAFER -sPAPERSIZE=a4 -sOutputFile="C:\bin\output.pdf" -c .setpdfwrite -f -

    现在在我使用的专有软件中,我设置了一台打印机,将其定向到我的计算机的 IP 端口为 9100。

    现在,当我打印到我的新“打印机”时,软件将 postscript 发送到我的 IP,RawPrintServer 接受 TCP 数据并将其转发到我设置的打印机,自定义打印机端口将该数据转发到 Ghostscript,它将 PDF 文件保存在我的本地机器。

    • 2
  3. Sven
    2009-06-16T01:27:29+08:002009-06-16T01:27:29+08:00

    我会投票给 Wireshark,因为它能够轻松地遵循 LPD 协议的 TCP 流并将其保存到文件中。

    我刚刚对此进行了测试,您所要做的就是从输出文件的开头删除几行,并且您拥有有效的 PS。

    • 1
  4. Joe
    2009-06-16T07:33:57+08:002009-06-16T07:33:57+08:00

    我会让netcat监听您的本地 LPD 端口并将接收到的内容写入文件。例如:

    nc -l -p 515 > output.ps
    
    • 1
  5. John Rennie
    2009-06-16T01:18:08+08:002009-06-16T01:18:08+08:00

    专有系统打印是否使用LPR?如果是这样,您至少原则上可以运行一个 LPR 服务器,该服务器将接收到的 postscript 写入文件而不是打印机。我不知道有哪一个,尽管快速的谷歌揭示了很多与 Windows LPR 相关的东西。

    如果您使用 C++ 编译器很方便,我有 LPR 服务器的代码在某处。我在 Windows 原生支持 LPR 之前的 NT3.50 天写了这个。修改代码以将输出发送到文件而不是打印机端口并不难。不过,这必须是最后的手段,必须有一些东西可以完成这项工作。

    一念。假设您在工作站或一些方便的服务器上安装了 Windows unix 打印支持,然后将打印机脱机并打印到它。后记大概会出现在 C:\Windows\system32\spool\PRINTERS 某处。

    JR

    • 0
  6. Martin M.
    2009-06-16T01:20:16+08:002009-06-16T01:20:16+08:00

    在 Linux 上你可以使用tcpdump或wireshark,在 Windows 上我只知道 wireshark,我个人更喜欢 wireshark,因为它有一个很好的 GUI,但是你可以将 tcpdump 记录到一个文件中,然后将其提供给 wireshark 供以后分析

    • 0
  7. Lmwangi
    2014-05-20T07:57:11+08:002014-05-20T07:57:11+08:00
    1. 设置一个位于 127.0.0.1 上的 postscript 打印机。

      在 OSX 上添加后脚本打印机

    2. 启动一个 netcat 服务器进程来伪造打印机。HP Jetdirect 使用端口 9100 nc -l 127.0.0.1 9100 > printout.ps

    3. 打印您的文档并享受 postscript grooviness :)

    PS:我这样做是为了绕过对 PDF 的内容查看限制。

    • 0

相关问题

  • 在 2003R2 中通过组策略设置 _default_ 打印机为 XP

  • 通过 VPN 使您的打印机可用的最佳方法是什么?

  • 我可以禁用“文档已发送到打印机”消息吗?[关闭]

  • 从 Linux 打印大文件会导致 PostScript 错误

  • 使用 NETLOGON.bat 设置用户打印机的最佳方式是什么?

Sidebar

Stats

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

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

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

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

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

    • 3 个回答
  • Marko Smith

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

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +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