module Net::SSH::Transport::PacketStream

def client_name

socket.
The name of the client (local) end of the socket, as reported by the
def client_name
  @client_name ||= begin
    sockaddr = getsockname
    begin
      Socket.getnameinfo(sockaddr, Socket::NI_NAMEREQD).first
    rescue
      begin
        Socket.getnameinfo(sockaddr).first
      rescue
        begin
          Socket.gethostbyname(Socket.gethostname).first
        rescue
          lwarn { "the client ipaddr/name could not be determined" }
          "unknown"
        end
      end
    end
  end
end