1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
//! This is a metasploit RPC library which makes a HTTP Connection with the Metasploit RCP Server.
//! All the modules and functions are written on the basis of Metasploit RPC Guide.
//! # Installation
//!
//! Rust-metasploit comes with two features. One is blocking and second is async.Deafult is set to be blocking
//! Async features needs to be used when you are dealing with tokio crate too.
//! For installation , add the follwing line in your Cargo.toml under dependencies
//!
//! ```
//! [dependencies]
//! rust-metasploit={ version="1.2.0",features=["blocking"] }
//! ```
//! # Rust-Metasploit
//! As said earlier,this library is usedto connect with the msfrpcd server.
//!
//! ## Example
//! ```
//! use metasploit::client::Client;
//! fn main() {
//! let client=Client::new("127.0.0.1",55552,"msf","password",true);
//! println!("{}",client.gettoken());
//! }
//! ```
//!
//! The above one is a simple example code where an connection is made with RPC Server and the token is printed
//! There is also another example such as this one below
//!
//! ## Example
//! ```
//! use metasploit::client::Client;
//! use metasploit::msf::auth;
//! use serde::Deserializeas des;
//!
//! [#derive(des,Debug)]
//! struct AddToken {
//! pub result:String,
//! }
//! fn main() {
//! let client=Client::new("127.0.0.1",55552,"msf","password",true);
//! let token:AddToken=auth::add_token(client,"newtoken");
//! println!("{}",token.result);
//! }
//! ```
//!
//! Here the data type of token variable can be a custom created struct which can phrase the response from the msfrpcd server.
//! The data type struct should only have feilds that are defined by the server.Any other exception will lead to an error.
//! Some of the data types are defined in the previous versions of rust-metaslpoit (They are not up-to-date with the latest release).
//! For more information on the data types , you can refer the metasploit documentation.
//!