3 * ssh-base has base utility functions to connect to hosts via ssh
5 * Copyright 2016, Dario Lombardo
7 * Wireshark - Network traffic analyzer
8 * By Gerald Combs <gerald@wireshark.org>
9 * Copyright 1998 Gerald Combs
11 * SPDX-License-Identifier: GPL-2.0-or-later
17 #include <libssh/libssh.h>
21 #include <extcap/extcap-base.h>
24 #define STDERR_FILENO 2
28 #define STDOUT_FILENO 1
31 #define SSH_BASE_OPTIONS \
32 { "remote-host", ws_required_argument, NULL, OPT_REMOTE_HOST}, \
33 { "remote-port", ws_required_argument, NULL, OPT_REMOTE_PORT}, \
34 { "remote-username", ws_required_argument, NULL, OPT_REMOTE_USERNAME}, \
35 { "remote-password", ws_required_argument, NULL, OPT_REMOTE_PASSWORD}, \
36 { "remote-count", ws_required_argument, NULL, OPT_REMOTE_COUNT}, \
37 { "sshkey", ws_required_argument, NULL, OPT_SSHKEY}, \
38 { "sshkey-passphrase", ws_required_argument, NULL, OPT_SSHKEY_PASSPHRASE}, \
39 { "proxycommand", ws_required_argument, NULL, OPT_PROXYCOMMAND}, \
40 { "ssh-sha1", ws_no_argument, NULL, OPT_SSH_SHA1}
42 #define SSH_BASE_PACKET_OPTIONS \
44 { "remote-interface", ws_required_argument, NULL, OPT_REMOTE_INTERFACE}, \
45 { "remote-filter", ws_required_argument, NULL, OPT_REMOTE_FILTER}
47 typedef struct _ssh_params
{
53 char* sshkey_passphrase
;
59 /* Add libssh version information to an extcap_parameters structure */
60 void add_libssh_info(extcap_parameters
* extcap_conf
);
62 /* Create a ssh connection using all the possible authentication methods */
63 ssh_session
create_ssh_connection(const ssh_params_t
* ssh_params
, char** err_info
);
65 /* Write a formatted message in the channel */
66 int ssh_channel_printf(ssh_channel channel
, const char* fmt
, ...);
68 /* Clean the current ssh session and channel. */
69 void ssh_cleanup(ssh_session
* sshs
, ssh_channel
* channel
);
71 /* Init the ssh_params_t structure */
72 ssh_params_t
* ssh_params_new(void);
74 /* Clean the ssh params */
75 void ssh_params_free(ssh_params_t
* ssh_params
);
77 /* Sets the libssh log level to match the ws log level */
78 void ssh_params_set_log_level(ssh_params_t
* ssh_params
, enum ws_log_level level
);
83 * Editor modelines - https://www.wireshark.org/tools/modelines.html
91 * vi: set shiftwidth=8 tabstop=8 noexpandtab:
92 * :indentSize=8:tabSize=8:noTabs=false: