home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / lang / c / 11775 < prev    next >
Encoding:
Internet Message Format  |  1992-07-30  |  1.9 KB

  1. Path: sparky!uunet!olivea!bu.edu!rpi!masscomp!peora!tarpit!fang!newsance!abcom!devildog!acpy01!ajay
  2. From: ajay@acpy01.att.com (Ajay Dhawan (CXNIXPT1))
  3. Newsgroups: comp.lang.c
  4. Subject: Telnet w/o login and password
  5. Message-ID: <1992Jul28.204926.25668@devildog.att.com>
  6. Date: 28 Jul 92 20:49:26 GMT
  7. Sender: acpy01!ajay
  8. Distribution: all
  9. Organization: AT&T IMS - Piscataway, NJ (USA)
  10. Lines: 36
  11.  
  12.  
  13. I'm working on writing a C program to telnet to a host machine
  14. without interactively entering in a login or a password.  I've
  15. managed to get past the login: prompt but I can't seem to get
  16. past the Password: prompt.  I think my problem is that the 
  17. password is read directely from the tty device rather than 
  18. standard input, but I'm not too sure.
  19.  
  20. I managed to get past the login: prompt by doing the following:
  21. I opened a pipe which returned two file descriptors, one for
  22. reading and one for writing.  Then I used fork() to set up a
  23. parent/child relationship.  The child process closes standard
  24. input and then duplicates the pipe read descriptor using
  25. dup(pd[0]) so that stdin is replaced by pipe read.  The child
  26. process then uses execl to run telnet.   The parent process
  27. uses the write() command to write to pd[1] which is the write
  28. end of the pipe.  By doing this, the two processes are able
  29. to communicate.
  30.  
  31. When I run my program, I get the login: prompt and the write
  32. works giving me the Password: prompt.  But the write does
  33. not work on the Password: prompt.  The program ends when 
  34. the user gets timed out for input.
  35.  
  36. I understand that entering a password is a very interactive
  37. process - I don't know if there is a way to do something 
  38. like this non-interactively.  I have just recently started
  39. working with such low level C programming.  Perhaps there
  40. is a solution that I don't see.  If you have any ideas, I
  41. would definitely be very interested.  If you'd like, I 
  42. can send you the code I described above.
  43.  
  44. -Ajay Dhawan
  45.  
  46.  
  47.  
  48.