mkozjak / node-telnet-client

A simple telnet client for Node.js
Other
350 stars 97 forks source link

When using telnet client, after using .exec command, I want to press enter key, but don't know how to do this. #212

Open Usama10020 opened 2 years ago

Usama10020 commented 2 years ago

Hello, I am trying to connect to a router that is running on gns3 using telnet. After successful connection i want to execute some commands and want to press enter key after each command.

here is my code:

const myFunc = async () => {
  const connection = new Telnet();

  // these parameters are just examples and most probably won't work for your use-case.
  const params = {
    host: "localhost",
    port: 5000,
    shellPrompt: ">", // or negotiationMandatory: false
    timeout: 1500,
  };

  try {
    await connection.connect(params);
  } catch (error) {
    // handle the throw (timeout)
    console.log(`error: ${error}`);
  }

  const res = await connection.exec("enable");

  //here i want to press enter key

  const res1 = await connection.exec("show running-config", {
    shellPrompt: "#",
  });

  //here i want to press enter key
  console.log(`res1: ${res1}`);
};

After running this code, it successfully connects to router and then run the first command enable. image_2022-06-02_013420133

But it is not sending the enter key that why i receive the error: image

Please guide me, how to resolve the issue.

mkozjak commented 2 years ago

Tried sending \r\n or some other line terminator to the telnet session?

Usama10020 commented 2 years ago

Tried sending \r\n or some other line terminator to the telnet session?

I tried it, but giving the same error.

Usama10020 commented 2 years ago

Tried sending \r\n or some other line terminator to the telnet session?

Hello brother, i am waiting for your response.

mkozjak commented 2 years ago

To be honest, it would be the best to tcpdump both sessions (your code and a regular telnet cli command that works) and see the differences.