请教一个redhat下telnet守护线程的问题

请教一个redhat下telnet守护线程的问题

linux下的telnet守护线程接到一个用户连接后, 可以启动我们定义的一个脚本或程序, 请问下,在这个脚本或程序中怎么获得这个连接的套接字啊???      
这个比较难 你的 login shell 根本不知道 socket 的存在

建议看看 APUE2nd 的以下章节:

  • 9.3 Network logins
  • 19 Pseudo terminals
      
谢谢版主!
       那有没有什么其他的办法在linux下的守护进程中得到当前这个连接的套接字?? 我想把这个套接字通知给另一个进程.      
顺便问下版主, 如果一台机器有两块网卡或更多, 是不是telnetd一启动后就开始监听所有的网卡地址的23端口???   如果不是,应该怎样配置啊?      
复制内容到剪贴板
代码:
[color=blue]-(dearvoid@LinuxEden:tty3)-(~)-
[8596 0] # [/color]lsof -i :telnet -n
COMMAND    PID USER   FD   TYPE DEVICE SIZE NODE NAME
xinetd    3780 root   10u  IPv4 731014       TCP *:telnet (LISTEN)
telnet    9427 root    3u  IPv4 732122       TCP 127.0.0.1:ripd->127.0.0.1:telnet (ESTABLISHED)
in.telnet 9428 root    0u  IPv4 732123       TCP 127.0.0.1:telnet->127.0.0.1:ripd (ESTABLISHED)
in.telnet 9428 root    1u  IPv4 732123       TCP 127.0.0.1:telnet->127.0.0.1:ripd (ESTABLISHED)
in.telnet 9428 root    2u  IPv4 732123       TCP 127.0.0.1:telnet->127.0.0.1:ripd (ESTABLISHED)
[color=blue]-(dearvoid@LinuxEden:tty3)-(~)-
[8596 0] # [/color]pstree -p | g -E '9427|9428|3780'
        |-sshd(3733)-+-sshd(8378)---bash(8380)---telnet(9427)
        `-xinetd(3780)---in.telnetd(9428)---login(9429)---sh(9432)
[color=blue]-(dearvoid@LinuxEden:tty3)-(~)-
[8596 0] # [/color]o
      
[QUOTE=inyvcx04]顺便问下版主, 如果一台机器有两块网卡或更多, 是不是telnetd一启动后就开始监听所有的网卡地址的23端口???   如果不是,应该怎样配置啊?[/QUOTE]
自己动手试试喽       
[QUOTE=dearvoid]
复制内容到剪贴板
代码:
[color=blue]-(dearvoid@LinuxEden:tty3)-(~)-
[8596 0] # [/color]lsof -i :telnet -n
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
xinetd 3780 root 10u IPv4 731014 TCP *:telnet (LISTEN)
telnet 9427 root 3u IPv4 732122 TCP 127.0.0.1:ripd->127.0.0.1:telnet (ESTABLISHED)
in.telnet 9428 root 0u IPv4 732123 TCP 127.0.0.1:telnet->127.0.0.1:ripd (ESTABLISHED)
in.telnet 9428 root 1u IPv4 732123 TCP 127.0.0.1:telnet->127.0.0.1:ripd (ESTABLISHED)
in.telnet 9428 root 2u IPv4 732123 TCP 127.0.0.1:telnet->127.0.0.1:ripd (ESTABLISHED)
[color=blue]-(dearvoid@LinuxEden:tty3)-(~)-
[8596 0] # [/color]pstree -p | g -E '9427|9428|3780'
|-sshd(3733)-+-sshd(8378)---bash(8380)---telnet(9427)
`-xinetd(3780)---in.telnetd(9428)---login(9429)---sh(9432)
[color=blue]-(dearvoid@LinuxEden:tty3)-(~)-
[8596 0] # [/color]o
[/QUOTE]
不太懂,
1我的redhat9 中没有lsof这个命令
2可否稍微详细点解释下从上面的命令怎么获得telnetd连接的那个套接字描述符啊???      
you better refer to lsof's man page