我通过telnet连接到Cisco编解码器SX20。
我的套接字连接后连接后获取:��\u0018�� ��#��\'
。我期待与Password:
或login:
类似的内容。我通过node&net; net.socket连接的其他设备工作正常。这是我得到的唯一一块;它始终看起来相同。
我尝试了很多节点编码实现(native和iconv) - 没有任何可读性。其他客户端工作正常,如putty(utf8编码)或telnet命令(自动发现?)。
一些结果:https://gist.github.com/below9k/4dbae508031d586ed7719958b425552c
- 决议/编辑: 我最终使用https://github.com/blinkdog/telnet-stream解决了这个问题 显然,这个单位在合作之前需要一些小的telnet谈判。
const telnetInput = new TelnetInput()
const telnetOutput = new TelnetOutput()
telnetInput.on('do', function (option) {
telnetOutput.writeWont(option)
})
telnetInput.on('will', function (option) {
telnetOutput.writeDont(option)
})
telnetInput.on('data', Meteor.bindEnvironment((data) => {
console.log(data.toString('utf8'))
}))
socket.pipe(telnetInput)
telnetOutput.pipe(socket)
console.log返回login:
- yay
我的理解是,我向该单位发送了几个标准化的信息(上面的回购信息中的更多信息),这使它有效。
答案 0 :(得分:0)
我最终使用https://github.com/blinkdog/telnet-stream解决了这个问题 显然,该部门希望在合作之前进行一些小的telnet谈判。
const telnetInput = new TelnetInput()
const telnetOutput = new TelnetOutput()
telnetInput.on('do', function (option) {
telnetOutput.writeWont(option)
})
telnetInput.on('will', function (option) {
telnetOutput.writeDont(option)
})
telnetInput.on('data', Meteor.bindEnvironment((data) => {
console.log(data.toString('utf8'))
}))
socket.pipe(telnetInput)
telnetOutput.pipe(socket)
console.log返回login:
-是的
我的理解是,我向单位发送了一些标准化的信息(更多信息在上述回购中),使它正常工作。
低于9k