Bja*_*sen 9 networking linux terminal gnome ubuntu
在我通常的 gnome 终端中,我做了一个
netcat -u somewhere 1234
Run Code Online (Sandbox Code Playgroud)
开始向某处发送 UDP 数据包。我需要传输以下 5 个字节,以十六进制表示:“01 00 af 0f e1”。现在我如何在我的终端中键入一个转义序列,使其将这些确切的 5 个字节发送到 netcat 的标准输入?
更新: 只是为了澄清。我知道将我想要的字节实际输入到程序中的几种方法。这不是问题。问题是,在程序启动后,我在终端中输入什么样的按键顺序,以输入键盘上未显示的十六进制字符。(例如 0x00、0x01 或 0x0f。)
我开始认为这根本不可能,但是如果这是结论,我会有点惊讶。
小智 9
您可以使用echo -e, (我认为 Richardhoskins 是这个意思。)像这样:
/bin/echo -n -e "\x01\x00\xaf\x0f\xe1" | netcat -u somewhere 1234
# -n: no newline at end, -e: interpret escapes
Run Code Online (Sandbox Code Playgroud)
如果您的 echo 实现是旧的,(或者根本不是 GNU-encrusted),老派的方法是使用八进制:
/bin/echo -n -e "\001\000\257\017\341" | netcat -u somewhere 1234
Run Code Online (Sandbox Code Playgroud)
是的,八进制是方式,方式老派。看看ibase和obase在男人bc。检查 echo 是否正确使用od("octal dump") "od -tx1" 表示十六进制,“od -to1” 表示八进制。
| 归档时间: |
|
| 查看次数: |
28728 次 |
| 最近记录: |