rubyfu 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/README.md +96 -0
- data/Rakefile +1 -0
- data/_book/beginners.html +1299 -0
- data/_book/contribution.html +1350 -0
- data/_book/contributors/Ruby_Loves_Us.jpg +0 -0
- data/_book/contributors/index.html +1294 -0
- data/_book/contributors/todo.html +1293 -0
- data/_book/cover.jpg +0 -0
- data/_book/faqs/index.html +1308 -0
- data/_book/files/module03/dns_spoofing_dns-query.pcap +0 -0
- data/_book/files/module03/dns_spoofing_dns-req_res.pcap.pcapng +0 -0
- data/_book/files/module06/ftp.pcap +0 -0
- data/_book/files/module06/packets.pcap +0 -0
- data/_book/gitbook/app.js +25001 -0
- data/_book/gitbook/fonts/fontawesome/FontAwesome.otf +0 -0
- data/_book/gitbook/fonts/fontawesome/fontawesome-webfont.eot +0 -0
- data/_book/gitbook/fonts/fontawesome/fontawesome-webfont.svg +504 -0
- data/_book/gitbook/fonts/fontawesome/fontawesome-webfont.ttf +0 -0
- data/_book/gitbook/fonts/fontawesome/fontawesome-webfont.woff +0 -0
- data/_book/gitbook/images/apple-touch-icon-precomposed-152.png +0 -0
- data/_book/gitbook/images/favicon.ico +0 -0
- data/_book/gitbook/plugins/gitbook-plugin-addcssjs/README.md +19 -0
- data/_book/gitbook/plugins/gitbook-plugin-addcssjs/index.js +57 -0
- data/_book/gitbook/plugins/gitbook-plugin-addcssjs/package.json +47 -0
- data/_book/gitbook/plugins/gitbook-plugin-anchors/plugin.css +26 -0
- data/_book/gitbook/plugins/gitbook-plugin-book-summary-scroll-position-saver/book-summary-scroll-position-saver.js +30 -0
- data/_book/gitbook/plugins/gitbook-plugin-expandable-chapters/expandable-chapters.css +28 -0
- data/_book/gitbook/plugins/gitbook-plugin-expandable-chapters/expandable-chapters.js +68 -0
- data/_book/gitbook/plugins/gitbook-plugin-fontsettings/buttons.js +151 -0
- data/_book/gitbook/plugins/gitbook-plugin-fontsettings/website.css +291 -0
- data/_book/gitbook/plugins/gitbook-plugin-highlight/ebook.css +131 -0
- data/_book/gitbook/plugins/gitbook-plugin-highlight/website.css +426 -0
- data/_book/gitbook/plugins/gitbook-plugin-search/lunr.min.js +7 -0
- data/_book/gitbook/plugins/gitbook-plugin-search/search.css +27 -0
- data/_book/gitbook/plugins/gitbook-plugin-search/search.js +135 -0
- data/_book/gitbook/plugins/gitbook-plugin-sharing/buttons.js +93 -0
- data/_book/gitbook/plugins/gitbook-plugin-splitter/splitter.css +22 -0
- data/_book/gitbook/plugins/gitbook-plugin-splitter/splitter.js +122 -0
- data/_book/gitbook/style.css +9 -0
- data/_book/googlec55db2d603c3da8b.html +1 -0
- data/_book/images/module02/Cryptography__wiringdiagram.png +0 -0
- data/_book/images/module02/packaging__ocra1.png +0 -0
- data/_book/images/module03/dns_spoofing_wireshark1.png +0 -0
- data/_book/images/module03/dns_spoofing_wireshark2.png +0 -0
- data/_book/images/module04/webfu__post_form1.png +0 -0
- data/_book/images/module04/webfu__proxy2.png +0 -0
- data/_book/images/module04/webfu__twitterAPI1.png +0 -0
- data/_book/images/module04/webfu__xmlrpc1.png +0 -0
- data/_book/images/module05/msf_template1.png +0 -0
- data/_book/images/module06/win-foren__winreg1.png +0 -0
- data/_book/images/other/Ruby_Loves_Us.jpg +0 -0
- data/_book/images/other/cover.jpg +0 -0
- data/_book/images/other/cover_small.jpg +0 -0
- data/_book/images/other/logo.png +0 -0
- data/_book/images/other/rubyfu.png +0 -0
- data/_book/images/other/rubyfu1.png +0 -0
- data/_book/images/other/rubyfu3.png +0 -0
- data/_book/images/other/rubyfu4.png +0 -0
- data/_book/images/other/rubyfu_.png +0 -0
- data/_book/index.html +1284 -0
- data/_book/module_0x1__basic_ruby_kung_fu/array.html +1297 -0
- data/_book/module_0x1__basic_ruby_kung_fu/conversion.html +1386 -0
- data/_book/module_0x1__basic_ruby_kung_fu/extraction.html +1346 -0
- data/_book/module_0x1__basic_ruby_kung_fu/index.html +1367 -0
- data/_book/module_0x1__basic_ruby_kung_fu/string.html +1451 -0
- data/_book/module_0x2__system_kung_fu/command_execution.html +1348 -0
- data/_book/module_0x2__system_kung_fu/cryptography.html +1396 -0
- data/_book/module_0x2__system_kung_fu/email.html +1352 -0
- data/_book/module_0x2__system_kung_fu/file_manipulation.html +1371 -0
- data/_book/module_0x2__system_kung_fu/index.html +1557 -0
- data/_book/module_0x2__system_kung_fu/ncatrb.html +1424 -0
- data/_book/module_0x2__system_kung_fu/packaging.md +1 -0
- data/_book/module_0x2__system_kung_fu/packaging__ocra1.png +0 -0
- data/_book/module_0x2__system_kung_fu/parsing_html,_xml,_json.html +1395 -0
- data/_book/module_0x2__system_kung_fu/rce_as_a_service.html +1336 -0
- data/_book/module_0x2__system_kung_fu/smtp_enumeration.html +1308 -0
- data/_book/module_0x2__system_kung_fu/system_shell.html +1299 -0
- data/_book/module_0x2__system_kung_fu/virustotal.html +1318 -0
- data/_book/module_0x3__network_kung_fu/Remote_shell.md +19 -0
- data/_book/module_0x3__network_kung_fu/arp_spoofing.html +1420 -0
- data/_book/module_0x3__network_kung_fu/dns.html +1315 -0
- data/_book/module_0x3__network_kung_fu/dns_bruteforce.md +49 -0
- data/_book/module_0x3__network_kung_fu/dns_enumeration.html +1371 -0
- data/_book/module_0x3__network_kung_fu/dns_spoofing.html +1694 -0
- data/_book/module_0x3__network_kung_fu/dns_spoofing_wireshark2.png +0 -0
- data/_book/module_0x3__network_kung_fu/ftp.html +1287 -0
- data/_book/module_0x3__network_kung_fu/index.html +1392 -0
- data/_book/module_0x3__network_kung_fu/network_scanning.html +1339 -0
- data/_book/module_0x3__network_kung_fu/network_traffic_analysis.html +1356 -0
- data/_book/module_0x3__network_kung_fu/nmap.html +1355 -0
- data/_book/module_0x3__network_kung_fu/oracle_tns_enum1.png +0 -0
- data/_book/module_0x3__network_kung_fu/packet_manipulation.html +1386 -0
- data/_book/module_0x3__network_kung_fu/ruby_socket.html +1553 -0
- data/_book/module_0x3__network_kung_fu/snmp_enumeration.html +1314 -0
- data/_book/module_0x3__network_kung_fu/ssh.html +1461 -0
- data/_book/module_0x3__network_kung_fu/ssid_finder.html +1324 -0
- data/_book/module_0x3__network_kung_fu/tns_enumeration.html +1505 -0
- data/_book/module_0x4__web_kung_fu/browser_manipulation.html +1630 -0
- data/_book/module_0x4__web_kung_fu/databases.html +1531 -0
- data/_book/module_0x4__web_kung_fu/extending_burpsuite.html +1303 -0
- data/_book/module_0x4__web_kung_fu/index.html +1536 -0
- data/_book/module_0x4__web_kung_fu/interacting_with_apis.html +1271 -0
- data/_book/module_0x4__web_kung_fu/ruby2javascript.html +1303 -0
- data/_book/module_0x4__web_kung_fu/sql_injection_scanner.html +1489 -0
- data/_book/module_0x4__web_kung_fu/twitter_api.html +1328 -0
- data/_book/module_0x4__web_kung_fu/web_servcies_and_apis.html +1291 -0
- data/_book/module_0x4__web_kung_fu/web_server_and_proxy.html +1370 -0
- data/_book/module_0x4__web_kung_fu/web_services.html +1394 -0
- data/_book/module_0x4__web_kung_fu/webfu__burp-ext1.png +0 -0
- data/_book/module_0x4__web_kung_fu/webfu__burp-ext2.png +0 -0
- data/_book/module_0x4__web_kung_fu/webfu__burp_setenv1.png +0 -0
- data/_book/module_0x4__web_kung_fu/webfu__proxy2.png +0 -0
- data/_book/module_0x4__web_kung_fu/webfu__twitterAPI1.png +0 -0
- data/_book/module_0x4__web_kung_fu/webfu__xmlrpc1.png +0 -0
- data/_book/module_0x4__web_kung_fu/wordpress_api.html +1543 -0
- data/_book/module_0x5__exploitation_kung_fu/MSF-struct.png +0 -0
- data/_book/module_0x5__exploitation_kung_fu/auxiliary_module.html +1870 -0
- data/_book/module_0x5__exploitation_kung_fu/exploit_module.html +1523 -0
- data/_book/module_0x5__exploitation_kung_fu/extensions.html +1466 -0
- data/_book/module_0x5__exploitation_kung_fu/fuzzer.html +1325 -0
- data/_book/module_0x5__exploitation_kung_fu/index.html +1319 -0
- data/_book/module_0x5__exploitation_kung_fu/metasm.html +1322 -0
- data/_book/module_0x5__exploitation_kung_fu/metasploit.html +1441 -0
- data/_book/module_0x5__exploitation_kung_fu/meterpreter.html +1327 -0
- data/_book/module_0x5__exploitation_kung_fu/meterpreter_scripting.html +1318 -0
- data/_book/module_0x5__exploitation_kung_fu/msf_meter_railgun1.png +0 -0
- data/_book/module_0x5__exploitation_kung_fu/msf_template1.png +0 -0
- data/_book/module_0x5__exploitation_kung_fu/railgun_api_extension.html +1300 -0
- data/_book/module_0x6__forensic/android_forensic.html +1356 -0
- data/_book/module_0x6__forensic/index.html +1332 -0
- data/_book/module_0x6__forensic/parsing_log_files.html +1375 -0
- data/_book/module_0x6__forensic/win-foren__winreg1.png +0 -0
- data/_book/module_0x6__forensic/windows_forensic.html +1289 -0
- data/_book/package.json +5 -0
- data/_book/references/index.html +1338 -0
- data/_book/required_gems.html +1342 -0
- data/_book/rubyfu_.png +0 -0
- data/_book/search_index.json +1 -0
- data/_book/styles/ebook.css +1 -0
- data/_book/styles/epub.css +1 -0
- data/_book/styles/header.js +5 -0
- data/_book/styles/mobi.css +1 -0
- data/_book/styles/pdf.css +1 -0
- data/_book/styles/website.css +41 -0
- data/bin/rubyfu +48 -0
- data/lib/rubyfu.rb +36 -0
- data/lib/rubyfu/browse.rb +35 -0
- data/lib/rubyfu/version.rb +3 -0
- data/lib/rubyfu/webserver.rb +30 -0
- metadata +210 -0
|
@@ -0,0 +1,1553 @@
|
|
|
1
|
+
<!DOCTYPE HTML>
|
|
2
|
+
<html lang="en" >
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
|
|
6
|
+
<meta charset="UTF-8">
|
|
7
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
8
|
+
<title>Ruby Socket | RubyFu</title>
|
|
9
|
+
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
|
|
10
|
+
<meta name="description" content="">
|
|
11
|
+
<meta name="generator" content="GitBook 2.6.2">
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
<meta name="HandheldFriendly" content="true"/>
|
|
15
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
|
|
16
|
+
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
17
|
+
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
|
18
|
+
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
|
|
19
|
+
<link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
|
|
20
|
+
|
|
21
|
+
<link rel="stylesheet" href="../gitbook/style.css">
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
<link rel="stylesheet" href="../gitbook/plugins/gitbook-plugin-anchors/plugin.css">
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
<link rel="stylesheet" href="../gitbook/plugins/gitbook-plugin-splitter/splitter.css">
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
<link rel="stylesheet" href="../gitbook/plugins/gitbook-plugin-expandable-chapters/expandable-chapters.css">
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
<link rel="stylesheet" href="../gitbook/plugins/gitbook-plugin-highlight/website.css">
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
<link rel="stylesheet" href="../gitbook/plugins/gitbook-plugin-search/search.css">
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
<link rel="stylesheet" href="../gitbook/plugins/gitbook-plugin-fontsettings/website.css">
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
<link rel="stylesheet" href="../styles/website.css">
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
<link rel="next" href="../module_0x3__network_kung_fu/ssid_finder.html" />
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
<link rel="prev" href="../module_0x3__network_kung_fu/index.html" />
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
<script type="text/javascript" src="../styles/header.js"></script>
|
|
61
|
+
</head>
|
|
62
|
+
<body>
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
<div class="book"
|
|
66
|
+
data-level="3.1"
|
|
67
|
+
data-chapter-title="Ruby Socket"
|
|
68
|
+
data-filepath="module_0x3__network_kung_fu/ruby_socket.md"
|
|
69
|
+
data-basepath=".."
|
|
70
|
+
data-revision="Wed Jan 27 2016 09:00:51 GMT+0300 (AST)"
|
|
71
|
+
data-innerlanguage="">
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
<div class="book-summary">
|
|
75
|
+
<nav role="navigation">
|
|
76
|
+
<ul class="summary">
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
<li class="chapter " data-level="0" data-path="index.html">
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
<a href="../index.html">
|
|
90
|
+
|
|
91
|
+
<i class="fa fa-check"></i>
|
|
92
|
+
|
|
93
|
+
Module 0x0 | Introduction
|
|
94
|
+
</a>
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
<ul class="articles">
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
<li class="chapter " data-level="0.1" data-path="contribution.html">
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
<a href="../contribution.html">
|
|
104
|
+
|
|
105
|
+
<i class="fa fa-check"></i>
|
|
106
|
+
|
|
107
|
+
<b>0.1.</b>
|
|
108
|
+
|
|
109
|
+
Contribution
|
|
110
|
+
</a>
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
</li>
|
|
114
|
+
|
|
115
|
+
<li class="chapter " data-level="0.2" data-path="beginners.html">
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
<a href="../beginners.html">
|
|
119
|
+
|
|
120
|
+
<i class="fa fa-check"></i>
|
|
121
|
+
|
|
122
|
+
<b>0.2.</b>
|
|
123
|
+
|
|
124
|
+
Beginners
|
|
125
|
+
</a>
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
</li>
|
|
129
|
+
|
|
130
|
+
<li class="chapter " data-level="0.3" data-path="required_gems.html">
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
<a href="../required_gems.html">
|
|
134
|
+
|
|
135
|
+
<i class="fa fa-check"></i>
|
|
136
|
+
|
|
137
|
+
<b>0.3.</b>
|
|
138
|
+
|
|
139
|
+
Required Gems
|
|
140
|
+
</a>
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
</li>
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
</ul>
|
|
147
|
+
|
|
148
|
+
</li>
|
|
149
|
+
|
|
150
|
+
<li class="chapter " data-level="1" data-path="module_0x1__basic_ruby_kung_fu/index.html">
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
<a href="../module_0x1__basic_ruby_kung_fu/index.html">
|
|
154
|
+
|
|
155
|
+
<i class="fa fa-check"></i>
|
|
156
|
+
|
|
157
|
+
<b>1.</b>
|
|
158
|
+
|
|
159
|
+
Module 0x1 | Basic Ruby Kung Fu
|
|
160
|
+
</a>
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
<ul class="articles">
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
<li class="chapter " data-level="1.1" data-path="module_0x1__basic_ruby_kung_fu/string.html">
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
<a href="../module_0x1__basic_ruby_kung_fu/string.html">
|
|
170
|
+
|
|
171
|
+
<i class="fa fa-check"></i>
|
|
172
|
+
|
|
173
|
+
<b>1.1.</b>
|
|
174
|
+
|
|
175
|
+
String
|
|
176
|
+
</a>
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
<ul class="articles">
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
<li class="chapter " data-level="1.1.1" data-path="module_0x1__basic_ruby_kung_fu/conversion.html">
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
<a href="../module_0x1__basic_ruby_kung_fu/conversion.html">
|
|
186
|
+
|
|
187
|
+
<i class="fa fa-check"></i>
|
|
188
|
+
|
|
189
|
+
<b>1.1.1.</b>
|
|
190
|
+
|
|
191
|
+
Conversion
|
|
192
|
+
</a>
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
</li>
|
|
196
|
+
|
|
197
|
+
<li class="chapter " data-level="1.1.2" data-path="module_0x1__basic_ruby_kung_fu/extraction.html">
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
<a href="../module_0x1__basic_ruby_kung_fu/extraction.html">
|
|
201
|
+
|
|
202
|
+
<i class="fa fa-check"></i>
|
|
203
|
+
|
|
204
|
+
<b>1.1.2.</b>
|
|
205
|
+
|
|
206
|
+
Extraction
|
|
207
|
+
</a>
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
</li>
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
</ul>
|
|
214
|
+
|
|
215
|
+
</li>
|
|
216
|
+
|
|
217
|
+
<li class="chapter " data-level="1.2" data-path="module_0x1__basic_ruby_kung_fu/array.html">
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
<a href="../module_0x1__basic_ruby_kung_fu/array.html">
|
|
221
|
+
|
|
222
|
+
<i class="fa fa-check"></i>
|
|
223
|
+
|
|
224
|
+
<b>1.2.</b>
|
|
225
|
+
|
|
226
|
+
Array
|
|
227
|
+
</a>
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
</li>
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
</ul>
|
|
234
|
+
|
|
235
|
+
</li>
|
|
236
|
+
|
|
237
|
+
<li class="chapter " data-level="2" data-path="module_0x2__system_kung_fu/index.html">
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
<a href="../module_0x2__system_kung_fu/index.html">
|
|
241
|
+
|
|
242
|
+
<i class="fa fa-check"></i>
|
|
243
|
+
|
|
244
|
+
<b>2.</b>
|
|
245
|
+
|
|
246
|
+
Module 0x2 | System Kung Fu
|
|
247
|
+
</a>
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
<ul class="articles">
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
<li class="chapter " data-level="2.1" data-path="module_0x2__system_kung_fu/command_execution.html">
|
|
254
|
+
|
|
255
|
+
|
|
256
|
+
<a href="../module_0x2__system_kung_fu/command_execution.html">
|
|
257
|
+
|
|
258
|
+
<i class="fa fa-check"></i>
|
|
259
|
+
|
|
260
|
+
<b>2.1.</b>
|
|
261
|
+
|
|
262
|
+
Command Execution
|
|
263
|
+
</a>
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
</li>
|
|
267
|
+
|
|
268
|
+
<li class="chapter " data-level="2.2" data-path="module_0x2__system_kung_fu/file_manipulation.html">
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
<a href="../module_0x2__system_kung_fu/file_manipulation.html">
|
|
272
|
+
|
|
273
|
+
<i class="fa fa-check"></i>
|
|
274
|
+
|
|
275
|
+
<b>2.2.</b>
|
|
276
|
+
|
|
277
|
+
File manipulation
|
|
278
|
+
</a>
|
|
279
|
+
|
|
280
|
+
|
|
281
|
+
<ul class="articles">
|
|
282
|
+
|
|
283
|
+
|
|
284
|
+
<li class="chapter " data-level="2.2.1" data-path="module_0x2__system_kung_fu/parsing_html,_xml,_json.html">
|
|
285
|
+
|
|
286
|
+
|
|
287
|
+
<a href="../module_0x2__system_kung_fu/parsing_html,_xml,_json.html">
|
|
288
|
+
|
|
289
|
+
<i class="fa fa-check"></i>
|
|
290
|
+
|
|
291
|
+
<b>2.2.1.</b>
|
|
292
|
+
|
|
293
|
+
Parsing HTML, XML, JSON
|
|
294
|
+
</a>
|
|
295
|
+
|
|
296
|
+
|
|
297
|
+
</li>
|
|
298
|
+
|
|
299
|
+
|
|
300
|
+
</ul>
|
|
301
|
+
|
|
302
|
+
</li>
|
|
303
|
+
|
|
304
|
+
<li class="chapter " data-level="2.3" data-path="module_0x2__system_kung_fu/cryptography.html">
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
<a href="../module_0x2__system_kung_fu/cryptography.html">
|
|
308
|
+
|
|
309
|
+
<i class="fa fa-check"></i>
|
|
310
|
+
|
|
311
|
+
<b>2.3.</b>
|
|
312
|
+
|
|
313
|
+
Cryptography
|
|
314
|
+
</a>
|
|
315
|
+
|
|
316
|
+
|
|
317
|
+
</li>
|
|
318
|
+
|
|
319
|
+
<li class="chapter " data-level="2.4" data-path="module_0x2__system_kung_fu/system_shell.html">
|
|
320
|
+
|
|
321
|
+
|
|
322
|
+
<a href="../module_0x2__system_kung_fu/system_shell.html">
|
|
323
|
+
|
|
324
|
+
<i class="fa fa-check"></i>
|
|
325
|
+
|
|
326
|
+
<b>2.4.</b>
|
|
327
|
+
|
|
328
|
+
Remote Shell
|
|
329
|
+
</a>
|
|
330
|
+
|
|
331
|
+
|
|
332
|
+
<ul class="articles">
|
|
333
|
+
|
|
334
|
+
|
|
335
|
+
<li class="chapter " data-level="2.4.1" data-path="module_0x2__system_kung_fu/ncatrb.html">
|
|
336
|
+
|
|
337
|
+
|
|
338
|
+
<a href="../module_0x2__system_kung_fu/ncatrb.html">
|
|
339
|
+
|
|
340
|
+
<i class="fa fa-check"></i>
|
|
341
|
+
|
|
342
|
+
<b>2.4.1.</b>
|
|
343
|
+
|
|
344
|
+
Ncat.rb
|
|
345
|
+
</a>
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
</li>
|
|
349
|
+
|
|
350
|
+
<li class="chapter " data-level="2.4.2" data-path="module_0x2__system_kung_fu/rce_as_a_service.html">
|
|
351
|
+
|
|
352
|
+
|
|
353
|
+
<a href="../module_0x2__system_kung_fu/rce_as_a_service.html">
|
|
354
|
+
|
|
355
|
+
<i class="fa fa-check"></i>
|
|
356
|
+
|
|
357
|
+
<b>2.4.2.</b>
|
|
358
|
+
|
|
359
|
+
RCE as a Service
|
|
360
|
+
</a>
|
|
361
|
+
|
|
362
|
+
|
|
363
|
+
</li>
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
</ul>
|
|
367
|
+
|
|
368
|
+
</li>
|
|
369
|
+
|
|
370
|
+
<li class="chapter " data-level="2.5" data-path="module_0x2__system_kung_fu/virustotal.html">
|
|
371
|
+
|
|
372
|
+
|
|
373
|
+
<a href="../module_0x2__system_kung_fu/virustotal.html">
|
|
374
|
+
|
|
375
|
+
<i class="fa fa-check"></i>
|
|
376
|
+
|
|
377
|
+
<b>2.5.</b>
|
|
378
|
+
|
|
379
|
+
VirusTotal
|
|
380
|
+
</a>
|
|
381
|
+
|
|
382
|
+
|
|
383
|
+
</li>
|
|
384
|
+
|
|
385
|
+
|
|
386
|
+
</ul>
|
|
387
|
+
|
|
388
|
+
</li>
|
|
389
|
+
|
|
390
|
+
<li class="chapter " data-level="3" data-path="module_0x3__network_kung_fu/index.html">
|
|
391
|
+
|
|
392
|
+
|
|
393
|
+
<a href="../module_0x3__network_kung_fu/index.html">
|
|
394
|
+
|
|
395
|
+
<i class="fa fa-check"></i>
|
|
396
|
+
|
|
397
|
+
<b>3.</b>
|
|
398
|
+
|
|
399
|
+
Module 0x3 | Network Kung Fu
|
|
400
|
+
</a>
|
|
401
|
+
|
|
402
|
+
|
|
403
|
+
<ul class="articles">
|
|
404
|
+
|
|
405
|
+
|
|
406
|
+
<li class="chapter active" data-level="3.1" data-path="module_0x3__network_kung_fu/ruby_socket.html">
|
|
407
|
+
|
|
408
|
+
|
|
409
|
+
<a href="../module_0x3__network_kung_fu/ruby_socket.html">
|
|
410
|
+
|
|
411
|
+
<i class="fa fa-check"></i>
|
|
412
|
+
|
|
413
|
+
<b>3.1.</b>
|
|
414
|
+
|
|
415
|
+
Ruby Socket
|
|
416
|
+
</a>
|
|
417
|
+
|
|
418
|
+
|
|
419
|
+
</li>
|
|
420
|
+
|
|
421
|
+
<li class="chapter " data-level="3.2" data-path="module_0x3__network_kung_fu/ssid_finder.html">
|
|
422
|
+
|
|
423
|
+
|
|
424
|
+
<a href="../module_0x3__network_kung_fu/ssid_finder.html">
|
|
425
|
+
|
|
426
|
+
<i class="fa fa-check"></i>
|
|
427
|
+
|
|
428
|
+
<b>3.2.</b>
|
|
429
|
+
|
|
430
|
+
SSID Finder
|
|
431
|
+
</a>
|
|
432
|
+
|
|
433
|
+
|
|
434
|
+
</li>
|
|
435
|
+
|
|
436
|
+
<li class="chapter " data-level="3.3" data-path="module_0x3__network_kung_fu/ftp.html">
|
|
437
|
+
|
|
438
|
+
|
|
439
|
+
<a href="../module_0x3__network_kung_fu/ftp.html">
|
|
440
|
+
|
|
441
|
+
<i class="fa fa-check"></i>
|
|
442
|
+
|
|
443
|
+
<b>3.3.</b>
|
|
444
|
+
|
|
445
|
+
FTP
|
|
446
|
+
</a>
|
|
447
|
+
|
|
448
|
+
|
|
449
|
+
</li>
|
|
450
|
+
|
|
451
|
+
<li class="chapter " data-level="3.4" data-path="module_0x3__network_kung_fu/ssh.html">
|
|
452
|
+
|
|
453
|
+
|
|
454
|
+
<a href="../module_0x3__network_kung_fu/ssh.html">
|
|
455
|
+
|
|
456
|
+
<i class="fa fa-check"></i>
|
|
457
|
+
|
|
458
|
+
<b>3.4.</b>
|
|
459
|
+
|
|
460
|
+
SSH
|
|
461
|
+
</a>
|
|
462
|
+
|
|
463
|
+
|
|
464
|
+
</li>
|
|
465
|
+
|
|
466
|
+
<li class="chapter " data-level="3.5" data-path="module_0x2__system_kung_fu/email.html">
|
|
467
|
+
|
|
468
|
+
|
|
469
|
+
<a href="../module_0x2__system_kung_fu/email.html">
|
|
470
|
+
|
|
471
|
+
<i class="fa fa-check"></i>
|
|
472
|
+
|
|
473
|
+
<b>3.5.</b>
|
|
474
|
+
|
|
475
|
+
Email
|
|
476
|
+
</a>
|
|
477
|
+
|
|
478
|
+
|
|
479
|
+
<ul class="articles">
|
|
480
|
+
|
|
481
|
+
|
|
482
|
+
<li class="chapter " data-level="3.5.1" data-path="module_0x2__system_kung_fu/smtp_enumeration.html">
|
|
483
|
+
|
|
484
|
+
|
|
485
|
+
<a href="../module_0x2__system_kung_fu/smtp_enumeration.html">
|
|
486
|
+
|
|
487
|
+
<i class="fa fa-check"></i>
|
|
488
|
+
|
|
489
|
+
<b>3.5.1.</b>
|
|
490
|
+
|
|
491
|
+
SMTP Enumeration
|
|
492
|
+
</a>
|
|
493
|
+
|
|
494
|
+
|
|
495
|
+
</li>
|
|
496
|
+
|
|
497
|
+
|
|
498
|
+
</ul>
|
|
499
|
+
|
|
500
|
+
</li>
|
|
501
|
+
|
|
502
|
+
<li class="chapter " data-level="3.6" data-path="module_0x3__network_kung_fu/network_scanning.html">
|
|
503
|
+
|
|
504
|
+
|
|
505
|
+
<a href="../module_0x3__network_kung_fu/network_scanning.html">
|
|
506
|
+
|
|
507
|
+
<i class="fa fa-check"></i>
|
|
508
|
+
|
|
509
|
+
<b>3.6.</b>
|
|
510
|
+
|
|
511
|
+
Network Scanning
|
|
512
|
+
</a>
|
|
513
|
+
|
|
514
|
+
|
|
515
|
+
<ul class="articles">
|
|
516
|
+
|
|
517
|
+
|
|
518
|
+
<li class="chapter " data-level="3.6.1" data-path="module_0x3__network_kung_fu/nmap.html">
|
|
519
|
+
|
|
520
|
+
|
|
521
|
+
<a href="../module_0x3__network_kung_fu/nmap.html">
|
|
522
|
+
|
|
523
|
+
<i class="fa fa-check"></i>
|
|
524
|
+
|
|
525
|
+
<b>3.6.1.</b>
|
|
526
|
+
|
|
527
|
+
Nmap
|
|
528
|
+
</a>
|
|
529
|
+
|
|
530
|
+
|
|
531
|
+
</li>
|
|
532
|
+
|
|
533
|
+
|
|
534
|
+
</ul>
|
|
535
|
+
|
|
536
|
+
</li>
|
|
537
|
+
|
|
538
|
+
<li class="chapter " data-level="3.7" data-path="module_0x3__network_kung_fu/dns.html">
|
|
539
|
+
|
|
540
|
+
|
|
541
|
+
<a href="../module_0x3__network_kung_fu/dns.html">
|
|
542
|
+
|
|
543
|
+
<i class="fa fa-check"></i>
|
|
544
|
+
|
|
545
|
+
<b>3.7.</b>
|
|
546
|
+
|
|
547
|
+
DNS
|
|
548
|
+
</a>
|
|
549
|
+
|
|
550
|
+
|
|
551
|
+
<ul class="articles">
|
|
552
|
+
|
|
553
|
+
|
|
554
|
+
<li class="chapter " data-level="3.7.1" data-path="module_0x3__network_kung_fu/dns_enumeration.html">
|
|
555
|
+
|
|
556
|
+
|
|
557
|
+
<a href="../module_0x3__network_kung_fu/dns_enumeration.html">
|
|
558
|
+
|
|
559
|
+
<i class="fa fa-check"></i>
|
|
560
|
+
|
|
561
|
+
<b>3.7.1.</b>
|
|
562
|
+
|
|
563
|
+
DNS Enumeration
|
|
564
|
+
</a>
|
|
565
|
+
|
|
566
|
+
|
|
567
|
+
</li>
|
|
568
|
+
|
|
569
|
+
|
|
570
|
+
</ul>
|
|
571
|
+
|
|
572
|
+
</li>
|
|
573
|
+
|
|
574
|
+
<li class="chapter " data-level="3.8" data-path="module_0x3__network_kung_fu/snmp_enumeration.html">
|
|
575
|
+
|
|
576
|
+
|
|
577
|
+
<a href="../module_0x3__network_kung_fu/snmp_enumeration.html">
|
|
578
|
+
|
|
579
|
+
<i class="fa fa-check"></i>
|
|
580
|
+
|
|
581
|
+
<b>3.8.</b>
|
|
582
|
+
|
|
583
|
+
SNMP Enumeration
|
|
584
|
+
</a>
|
|
585
|
+
|
|
586
|
+
|
|
587
|
+
</li>
|
|
588
|
+
|
|
589
|
+
<li class="chapter " data-level="3.9" data-path="module_0x3__network_kung_fu/tns_enumeration.html">
|
|
590
|
+
|
|
591
|
+
|
|
592
|
+
<a href="../module_0x3__network_kung_fu/tns_enumeration.html">
|
|
593
|
+
|
|
594
|
+
<i class="fa fa-check"></i>
|
|
595
|
+
|
|
596
|
+
<b>3.9.</b>
|
|
597
|
+
|
|
598
|
+
Oracle TNS Enumeration
|
|
599
|
+
</a>
|
|
600
|
+
|
|
601
|
+
|
|
602
|
+
</li>
|
|
603
|
+
|
|
604
|
+
<li class="chapter " data-level="3.10" data-path="module_0x3__network_kung_fu/packet_manipulation.html">
|
|
605
|
+
|
|
606
|
+
|
|
607
|
+
<a href="../module_0x3__network_kung_fu/packet_manipulation.html">
|
|
608
|
+
|
|
609
|
+
<i class="fa fa-check"></i>
|
|
610
|
+
|
|
611
|
+
<b>3.10.</b>
|
|
612
|
+
|
|
613
|
+
Packet manipulation
|
|
614
|
+
</a>
|
|
615
|
+
|
|
616
|
+
|
|
617
|
+
<ul class="articles">
|
|
618
|
+
|
|
619
|
+
|
|
620
|
+
<li class="chapter " data-level="3.10.1" data-path="module_0x3__network_kung_fu/arp_spoofing.html">
|
|
621
|
+
|
|
622
|
+
|
|
623
|
+
<a href="../module_0x3__network_kung_fu/arp_spoofing.html">
|
|
624
|
+
|
|
625
|
+
<i class="fa fa-check"></i>
|
|
626
|
+
|
|
627
|
+
<b>3.10.1.</b>
|
|
628
|
+
|
|
629
|
+
ARP Spoofing
|
|
630
|
+
</a>
|
|
631
|
+
|
|
632
|
+
|
|
633
|
+
</li>
|
|
634
|
+
|
|
635
|
+
<li class="chapter " data-level="3.10.2" data-path="module_0x3__network_kung_fu/dns_spoofing.html">
|
|
636
|
+
|
|
637
|
+
|
|
638
|
+
<a href="../module_0x3__network_kung_fu/dns_spoofing.html">
|
|
639
|
+
|
|
640
|
+
<i class="fa fa-check"></i>
|
|
641
|
+
|
|
642
|
+
<b>3.10.2.</b>
|
|
643
|
+
|
|
644
|
+
DNS Spoofing
|
|
645
|
+
</a>
|
|
646
|
+
|
|
647
|
+
|
|
648
|
+
</li>
|
|
649
|
+
|
|
650
|
+
|
|
651
|
+
</ul>
|
|
652
|
+
|
|
653
|
+
</li>
|
|
654
|
+
|
|
655
|
+
|
|
656
|
+
</ul>
|
|
657
|
+
|
|
658
|
+
</li>
|
|
659
|
+
|
|
660
|
+
<li class="chapter " data-level="4" data-path="module_0x4__web_kung_fu/index.html">
|
|
661
|
+
|
|
662
|
+
|
|
663
|
+
<a href="../module_0x4__web_kung_fu/index.html">
|
|
664
|
+
|
|
665
|
+
<i class="fa fa-check"></i>
|
|
666
|
+
|
|
667
|
+
<b>4.</b>
|
|
668
|
+
|
|
669
|
+
Module 0x4 | Web Kung Fu
|
|
670
|
+
</a>
|
|
671
|
+
|
|
672
|
+
|
|
673
|
+
<ul class="articles">
|
|
674
|
+
|
|
675
|
+
|
|
676
|
+
<li class="chapter " data-level="4.1" data-path="module_0x4__web_kung_fu/sql_injection_scanner.html">
|
|
677
|
+
|
|
678
|
+
|
|
679
|
+
<a href="../module_0x4__web_kung_fu/sql_injection_scanner.html">
|
|
680
|
+
|
|
681
|
+
<i class="fa fa-check"></i>
|
|
682
|
+
|
|
683
|
+
<b>4.1.</b>
|
|
684
|
+
|
|
685
|
+
SQL Injection Scanner
|
|
686
|
+
</a>
|
|
687
|
+
|
|
688
|
+
|
|
689
|
+
</li>
|
|
690
|
+
|
|
691
|
+
<li class="chapter " data-level="4.2" data-path="module_0x4__web_kung_fu/databases.html">
|
|
692
|
+
|
|
693
|
+
|
|
694
|
+
<a href="../module_0x4__web_kung_fu/databases.html">
|
|
695
|
+
|
|
696
|
+
<i class="fa fa-check"></i>
|
|
697
|
+
|
|
698
|
+
<b>4.2.</b>
|
|
699
|
+
|
|
700
|
+
Databases
|
|
701
|
+
</a>
|
|
702
|
+
|
|
703
|
+
|
|
704
|
+
</li>
|
|
705
|
+
|
|
706
|
+
<li class="chapter " data-level="4.3" data-path="module_0x4__web_kung_fu/extending_burpsuite.html">
|
|
707
|
+
|
|
708
|
+
|
|
709
|
+
<a href="../module_0x4__web_kung_fu/extending_burpsuite.html">
|
|
710
|
+
|
|
711
|
+
<i class="fa fa-check"></i>
|
|
712
|
+
|
|
713
|
+
<b>4.3.</b>
|
|
714
|
+
|
|
715
|
+
Extending Burp Suite
|
|
716
|
+
</a>
|
|
717
|
+
|
|
718
|
+
|
|
719
|
+
</li>
|
|
720
|
+
|
|
721
|
+
<li class="chapter " data-level="4.4" data-path="module_0x4__web_kung_fu/browser_manipulation.html">
|
|
722
|
+
|
|
723
|
+
|
|
724
|
+
<a href="../module_0x4__web_kung_fu/browser_manipulation.html">
|
|
725
|
+
|
|
726
|
+
<i class="fa fa-check"></i>
|
|
727
|
+
|
|
728
|
+
<b>4.4.</b>
|
|
729
|
+
|
|
730
|
+
Browser Manipulation
|
|
731
|
+
</a>
|
|
732
|
+
|
|
733
|
+
|
|
734
|
+
</li>
|
|
735
|
+
|
|
736
|
+
<li class="chapter " data-level="4.5" data-path="module_0x4__web_kung_fu/web_servcies_and_apis.html">
|
|
737
|
+
|
|
738
|
+
|
|
739
|
+
<a href="../module_0x4__web_kung_fu/web_servcies_and_apis.html">
|
|
740
|
+
|
|
741
|
+
<i class="fa fa-check"></i>
|
|
742
|
+
|
|
743
|
+
<b>4.5.</b>
|
|
744
|
+
|
|
745
|
+
Web Services and APIs
|
|
746
|
+
</a>
|
|
747
|
+
|
|
748
|
+
|
|
749
|
+
<ul class="articles">
|
|
750
|
+
|
|
751
|
+
|
|
752
|
+
<li class="chapter " data-level="4.5.1" data-path="module_0x4__web_kung_fu/web_services.html">
|
|
753
|
+
|
|
754
|
+
|
|
755
|
+
<a href="../module_0x4__web_kung_fu/web_services.html">
|
|
756
|
+
|
|
757
|
+
<i class="fa fa-check"></i>
|
|
758
|
+
|
|
759
|
+
<b>4.5.1.</b>
|
|
760
|
+
|
|
761
|
+
Interacting with Web Services
|
|
762
|
+
</a>
|
|
763
|
+
|
|
764
|
+
|
|
765
|
+
</li>
|
|
766
|
+
|
|
767
|
+
<li class="chapter " data-level="4.5.2" data-path="module_0x4__web_kung_fu/interacting_with_apis.html">
|
|
768
|
+
|
|
769
|
+
|
|
770
|
+
<a href="../module_0x4__web_kung_fu/interacting_with_apis.html">
|
|
771
|
+
|
|
772
|
+
<i class="fa fa-check"></i>
|
|
773
|
+
|
|
774
|
+
<b>4.5.2.</b>
|
|
775
|
+
|
|
776
|
+
Interacting with APIs
|
|
777
|
+
</a>
|
|
778
|
+
|
|
779
|
+
|
|
780
|
+
<ul class="articles">
|
|
781
|
+
|
|
782
|
+
|
|
783
|
+
<li class="chapter " data-level="4.5.2.1" data-path="module_0x4__web_kung_fu/wordpress_api.html">
|
|
784
|
+
|
|
785
|
+
|
|
786
|
+
<a href="../module_0x4__web_kung_fu/wordpress_api.html">
|
|
787
|
+
|
|
788
|
+
<i class="fa fa-check"></i>
|
|
789
|
+
|
|
790
|
+
<b>4.5.2.1.</b>
|
|
791
|
+
|
|
792
|
+
WordPress API
|
|
793
|
+
</a>
|
|
794
|
+
|
|
795
|
+
|
|
796
|
+
</li>
|
|
797
|
+
|
|
798
|
+
<li class="chapter " data-level="4.5.2.2" data-path="module_0x4__web_kung_fu/twitter_api.html">
|
|
799
|
+
|
|
800
|
+
|
|
801
|
+
<a href="../module_0x4__web_kung_fu/twitter_api.html">
|
|
802
|
+
|
|
803
|
+
<i class="fa fa-check"></i>
|
|
804
|
+
|
|
805
|
+
<b>4.5.2.2.</b>
|
|
806
|
+
|
|
807
|
+
Twitter API
|
|
808
|
+
</a>
|
|
809
|
+
|
|
810
|
+
|
|
811
|
+
</li>
|
|
812
|
+
|
|
813
|
+
|
|
814
|
+
</ul>
|
|
815
|
+
|
|
816
|
+
</li>
|
|
817
|
+
|
|
818
|
+
|
|
819
|
+
</ul>
|
|
820
|
+
|
|
821
|
+
</li>
|
|
822
|
+
|
|
823
|
+
<li class="chapter " data-level="4.6" data-path="module_0x4__web_kung_fu/ruby2javascript.html">
|
|
824
|
+
|
|
825
|
+
|
|
826
|
+
<a href="../module_0x4__web_kung_fu/ruby2javascript.html">
|
|
827
|
+
|
|
828
|
+
<i class="fa fa-check"></i>
|
|
829
|
+
|
|
830
|
+
<b>4.6.</b>
|
|
831
|
+
|
|
832
|
+
Ruby 2 JavaScript
|
|
833
|
+
</a>
|
|
834
|
+
|
|
835
|
+
|
|
836
|
+
</li>
|
|
837
|
+
|
|
838
|
+
<li class="chapter " data-level="4.7" data-path="module_0x4__web_kung_fu/web_server_and_proxy.html">
|
|
839
|
+
|
|
840
|
+
|
|
841
|
+
<a href="../module_0x4__web_kung_fu/web_server_and_proxy.html">
|
|
842
|
+
|
|
843
|
+
<i class="fa fa-check"></i>
|
|
844
|
+
|
|
845
|
+
<b>4.7.</b>
|
|
846
|
+
|
|
847
|
+
Web Server and Proxy
|
|
848
|
+
</a>
|
|
849
|
+
|
|
850
|
+
|
|
851
|
+
</li>
|
|
852
|
+
|
|
853
|
+
|
|
854
|
+
</ul>
|
|
855
|
+
|
|
856
|
+
</li>
|
|
857
|
+
|
|
858
|
+
<li class="chapter " data-level="5" data-path="module_0x5__exploitation_kung_fu/index.html">
|
|
859
|
+
|
|
860
|
+
|
|
861
|
+
<a href="../module_0x5__exploitation_kung_fu/index.html">
|
|
862
|
+
|
|
863
|
+
<i class="fa fa-check"></i>
|
|
864
|
+
|
|
865
|
+
<b>5.</b>
|
|
866
|
+
|
|
867
|
+
Module 0x5 | Exploitation Kung Fu
|
|
868
|
+
</a>
|
|
869
|
+
|
|
870
|
+
|
|
871
|
+
<ul class="articles">
|
|
872
|
+
|
|
873
|
+
|
|
874
|
+
<li class="chapter " data-level="5.1" data-path="module_0x5__exploitation_kung_fu/fuzzer.html">
|
|
875
|
+
|
|
876
|
+
|
|
877
|
+
<a href="../module_0x5__exploitation_kung_fu/fuzzer.html">
|
|
878
|
+
|
|
879
|
+
<i class="fa fa-check"></i>
|
|
880
|
+
|
|
881
|
+
<b>5.1.</b>
|
|
882
|
+
|
|
883
|
+
Fuzzer
|
|
884
|
+
</a>
|
|
885
|
+
|
|
886
|
+
|
|
887
|
+
</li>
|
|
888
|
+
|
|
889
|
+
<li class="chapter " data-level="5.2" data-path="module_0x5__exploitation_kung_fu/metasploit.html">
|
|
890
|
+
|
|
891
|
+
|
|
892
|
+
<a href="../module_0x5__exploitation_kung_fu/metasploit.html">
|
|
893
|
+
|
|
894
|
+
<i class="fa fa-check"></i>
|
|
895
|
+
|
|
896
|
+
<b>5.2.</b>
|
|
897
|
+
|
|
898
|
+
Metasploit
|
|
899
|
+
</a>
|
|
900
|
+
|
|
901
|
+
|
|
902
|
+
<ul class="articles">
|
|
903
|
+
|
|
904
|
+
|
|
905
|
+
<li class="chapter " data-level="5.2.1" data-path="module_0x5__exploitation_kung_fu/auxiliary_module.html">
|
|
906
|
+
|
|
907
|
+
|
|
908
|
+
<a href="../module_0x5__exploitation_kung_fu/auxiliary_module.html">
|
|
909
|
+
|
|
910
|
+
<i class="fa fa-check"></i>
|
|
911
|
+
|
|
912
|
+
<b>5.2.1.</b>
|
|
913
|
+
|
|
914
|
+
Auxiliary module
|
|
915
|
+
</a>
|
|
916
|
+
|
|
917
|
+
|
|
918
|
+
</li>
|
|
919
|
+
|
|
920
|
+
<li class="chapter " data-level="5.2.2" data-path="module_0x5__exploitation_kung_fu/exploit_module.html">
|
|
921
|
+
|
|
922
|
+
|
|
923
|
+
<a href="../module_0x5__exploitation_kung_fu/exploit_module.html">
|
|
924
|
+
|
|
925
|
+
<i class="fa fa-check"></i>
|
|
926
|
+
|
|
927
|
+
<b>5.2.2.</b>
|
|
928
|
+
|
|
929
|
+
Exploit module
|
|
930
|
+
</a>
|
|
931
|
+
|
|
932
|
+
|
|
933
|
+
</li>
|
|
934
|
+
|
|
935
|
+
<li class="chapter " data-level="5.2.3" data-path="module_0x5__exploitation_kung_fu/meterpreter.html">
|
|
936
|
+
|
|
937
|
+
|
|
938
|
+
<a href="../module_0x5__exploitation_kung_fu/meterpreter.html">
|
|
939
|
+
|
|
940
|
+
<i class="fa fa-check"></i>
|
|
941
|
+
|
|
942
|
+
<b>5.2.3.</b>
|
|
943
|
+
|
|
944
|
+
Meterpreter
|
|
945
|
+
</a>
|
|
946
|
+
|
|
947
|
+
|
|
948
|
+
<ul class="articles">
|
|
949
|
+
|
|
950
|
+
|
|
951
|
+
<li class="chapter " data-level="5.2.3.1" data-path="module_0x5__exploitation_kung_fu/extensions.html">
|
|
952
|
+
|
|
953
|
+
|
|
954
|
+
<a href="../module_0x5__exploitation_kung_fu/extensions.html">
|
|
955
|
+
|
|
956
|
+
<i class="fa fa-check"></i>
|
|
957
|
+
|
|
958
|
+
<b>5.2.3.1.</b>
|
|
959
|
+
|
|
960
|
+
API and Extensions
|
|
961
|
+
</a>
|
|
962
|
+
|
|
963
|
+
|
|
964
|
+
</li>
|
|
965
|
+
|
|
966
|
+
<li class="chapter " data-level="5.2.3.2" data-path="module_0x5__exploitation_kung_fu/meterpreter_scripting.html">
|
|
967
|
+
|
|
968
|
+
|
|
969
|
+
<a href="../module_0x5__exploitation_kung_fu/meterpreter_scripting.html">
|
|
970
|
+
|
|
971
|
+
<i class="fa fa-check"></i>
|
|
972
|
+
|
|
973
|
+
<b>5.2.3.2.</b>
|
|
974
|
+
|
|
975
|
+
Meterpreter Scripting
|
|
976
|
+
</a>
|
|
977
|
+
|
|
978
|
+
|
|
979
|
+
</li>
|
|
980
|
+
|
|
981
|
+
<li class="chapter " data-level="5.2.3.3" data-path="module_0x5__exploitation_kung_fu/railgun_api_extension.html">
|
|
982
|
+
|
|
983
|
+
|
|
984
|
+
<a href="../module_0x5__exploitation_kung_fu/railgun_api_extension.html">
|
|
985
|
+
|
|
986
|
+
<i class="fa fa-check"></i>
|
|
987
|
+
|
|
988
|
+
<b>5.2.3.3.</b>
|
|
989
|
+
|
|
990
|
+
Railgun API Extension
|
|
991
|
+
</a>
|
|
992
|
+
|
|
993
|
+
|
|
994
|
+
</li>
|
|
995
|
+
|
|
996
|
+
|
|
997
|
+
</ul>
|
|
998
|
+
|
|
999
|
+
</li>
|
|
1000
|
+
|
|
1001
|
+
|
|
1002
|
+
</ul>
|
|
1003
|
+
|
|
1004
|
+
</li>
|
|
1005
|
+
|
|
1006
|
+
<li class="chapter " data-level="5.3" data-path="module_0x5__exploitation_kung_fu/metasm.html">
|
|
1007
|
+
|
|
1008
|
+
|
|
1009
|
+
<a href="../module_0x5__exploitation_kung_fu/metasm.html">
|
|
1010
|
+
|
|
1011
|
+
<i class="fa fa-check"></i>
|
|
1012
|
+
|
|
1013
|
+
<b>5.3.</b>
|
|
1014
|
+
|
|
1015
|
+
metasm
|
|
1016
|
+
</a>
|
|
1017
|
+
|
|
1018
|
+
|
|
1019
|
+
</li>
|
|
1020
|
+
|
|
1021
|
+
|
|
1022
|
+
</ul>
|
|
1023
|
+
|
|
1024
|
+
</li>
|
|
1025
|
+
|
|
1026
|
+
<li class="chapter " data-level="6" data-path="module_0x6__forensic/index.html">
|
|
1027
|
+
|
|
1028
|
+
|
|
1029
|
+
<a href="../module_0x6__forensic/index.html">
|
|
1030
|
+
|
|
1031
|
+
<i class="fa fa-check"></i>
|
|
1032
|
+
|
|
1033
|
+
<b>6.</b>
|
|
1034
|
+
|
|
1035
|
+
Module 0x6 | Forensic Kung Fu
|
|
1036
|
+
</a>
|
|
1037
|
+
|
|
1038
|
+
|
|
1039
|
+
<ul class="articles">
|
|
1040
|
+
|
|
1041
|
+
|
|
1042
|
+
<li class="chapter " data-level="6.1" data-path="module_0x6__forensic/windows_forensic.html">
|
|
1043
|
+
|
|
1044
|
+
|
|
1045
|
+
<a href="../module_0x6__forensic/windows_forensic.html">
|
|
1046
|
+
|
|
1047
|
+
<i class="fa fa-check"></i>
|
|
1048
|
+
|
|
1049
|
+
<b>6.1.</b>
|
|
1050
|
+
|
|
1051
|
+
Windows Forensic
|
|
1052
|
+
</a>
|
|
1053
|
+
|
|
1054
|
+
|
|
1055
|
+
</li>
|
|
1056
|
+
|
|
1057
|
+
<li class="chapter " data-level="6.2" data-path="module_0x6__forensic/android_forensic.html">
|
|
1058
|
+
|
|
1059
|
+
|
|
1060
|
+
<a href="../module_0x6__forensic/android_forensic.html">
|
|
1061
|
+
|
|
1062
|
+
<i class="fa fa-check"></i>
|
|
1063
|
+
|
|
1064
|
+
<b>6.2.</b>
|
|
1065
|
+
|
|
1066
|
+
Android Forensic
|
|
1067
|
+
</a>
|
|
1068
|
+
|
|
1069
|
+
|
|
1070
|
+
</li>
|
|
1071
|
+
|
|
1072
|
+
<li class="chapter " data-level="6.3" data-path="module_0x3__network_kung_fu/network_traffic_analysis.html">
|
|
1073
|
+
|
|
1074
|
+
|
|
1075
|
+
<a href="../module_0x3__network_kung_fu/network_traffic_analysis.html">
|
|
1076
|
+
|
|
1077
|
+
<i class="fa fa-check"></i>
|
|
1078
|
+
|
|
1079
|
+
<b>6.3.</b>
|
|
1080
|
+
|
|
1081
|
+
Network Traffic Analysis
|
|
1082
|
+
</a>
|
|
1083
|
+
|
|
1084
|
+
|
|
1085
|
+
</li>
|
|
1086
|
+
|
|
1087
|
+
<li class="chapter " data-level="6.4" data-path="module_0x6__forensic/parsing_log_files.html">
|
|
1088
|
+
|
|
1089
|
+
|
|
1090
|
+
<a href="../module_0x6__forensic/parsing_log_files.html">
|
|
1091
|
+
|
|
1092
|
+
<i class="fa fa-check"></i>
|
|
1093
|
+
|
|
1094
|
+
<b>6.4.</b>
|
|
1095
|
+
|
|
1096
|
+
Parsing Log Files
|
|
1097
|
+
</a>
|
|
1098
|
+
|
|
1099
|
+
|
|
1100
|
+
</li>
|
|
1101
|
+
|
|
1102
|
+
|
|
1103
|
+
</ul>
|
|
1104
|
+
|
|
1105
|
+
</li>
|
|
1106
|
+
|
|
1107
|
+
<li class="chapter " data-level="7" data-path="references/index.html">
|
|
1108
|
+
|
|
1109
|
+
|
|
1110
|
+
<a href="../references/index.html">
|
|
1111
|
+
|
|
1112
|
+
<i class="fa fa-check"></i>
|
|
1113
|
+
|
|
1114
|
+
<b>7.</b>
|
|
1115
|
+
|
|
1116
|
+
References
|
|
1117
|
+
</a>
|
|
1118
|
+
|
|
1119
|
+
|
|
1120
|
+
</li>
|
|
1121
|
+
|
|
1122
|
+
<li class="chapter " data-level="8" data-path="faqs/index.html">
|
|
1123
|
+
|
|
1124
|
+
|
|
1125
|
+
<a href="../faqs/index.html">
|
|
1126
|
+
|
|
1127
|
+
<i class="fa fa-check"></i>
|
|
1128
|
+
|
|
1129
|
+
<b>8.</b>
|
|
1130
|
+
|
|
1131
|
+
FAQs
|
|
1132
|
+
</a>
|
|
1133
|
+
|
|
1134
|
+
|
|
1135
|
+
</li>
|
|
1136
|
+
|
|
1137
|
+
<li class="chapter " data-level="9" data-path="contributors/index.html">
|
|
1138
|
+
|
|
1139
|
+
|
|
1140
|
+
<a href="../contributors/index.html">
|
|
1141
|
+
|
|
1142
|
+
<i class="fa fa-check"></i>
|
|
1143
|
+
|
|
1144
|
+
<b>9.</b>
|
|
1145
|
+
|
|
1146
|
+
Contributors
|
|
1147
|
+
</a>
|
|
1148
|
+
|
|
1149
|
+
|
|
1150
|
+
<ul class="articles">
|
|
1151
|
+
|
|
1152
|
+
|
|
1153
|
+
<li class="chapter " data-level="9.1" data-path="contributors/todo.html">
|
|
1154
|
+
|
|
1155
|
+
|
|
1156
|
+
<a href="../contributors/todo.html">
|
|
1157
|
+
|
|
1158
|
+
<i class="fa fa-check"></i>
|
|
1159
|
+
|
|
1160
|
+
<b>9.1.</b>
|
|
1161
|
+
|
|
1162
|
+
TODO
|
|
1163
|
+
</a>
|
|
1164
|
+
|
|
1165
|
+
|
|
1166
|
+
</li>
|
|
1167
|
+
|
|
1168
|
+
|
|
1169
|
+
</ul>
|
|
1170
|
+
|
|
1171
|
+
</li>
|
|
1172
|
+
|
|
1173
|
+
|
|
1174
|
+
|
|
1175
|
+
|
|
1176
|
+
<li class="divider"></li>
|
|
1177
|
+
<li>
|
|
1178
|
+
<a href="https://www.gitbook.com" target="blank" class="gitbook-link">
|
|
1179
|
+
Published with GitBook
|
|
1180
|
+
</a>
|
|
1181
|
+
</li>
|
|
1182
|
+
|
|
1183
|
+
</ul>
|
|
1184
|
+
</nav>
|
|
1185
|
+
</div>
|
|
1186
|
+
|
|
1187
|
+
<div class="book-body">
|
|
1188
|
+
<div class="body-inner">
|
|
1189
|
+
<div class="book-header" role="navigation">
|
|
1190
|
+
<!-- Actions Left -->
|
|
1191
|
+
|
|
1192
|
+
|
|
1193
|
+
<!-- Title -->
|
|
1194
|
+
<h1>
|
|
1195
|
+
<i class="fa fa-circle-o-notch fa-spin"></i>
|
|
1196
|
+
<a href="../" >RubyFu</a>
|
|
1197
|
+
</h1>
|
|
1198
|
+
</div>
|
|
1199
|
+
|
|
1200
|
+
<div class="page-wrapper" tabindex="-1" role="main">
|
|
1201
|
+
<div class="page-inner">
|
|
1202
|
+
|
|
1203
|
+
|
|
1204
|
+
<section class="normal" id="section-">
|
|
1205
|
+
|
|
1206
|
+
<h1 id="ruby-socket"><a name="ruby-socket" class="plugin-anchor" href="#ruby-socket"><span class="fa fa-link"></span></a>Ruby Socket</h1>
|
|
1207
|
+
<h2 id="lightweight-introduction"><a name="lightweight-introduction" class="plugin-anchor" href="#lightweight-introduction"><span class="fa fa-link"></span></a>Lightweight Introduction</h2>
|
|
1208
|
+
<h3 id="ruby-socket-class-hierarchy"><a name="ruby-socket-class-hierarchy" class="plugin-anchor" href="#ruby-socket-class-hierarchy"><span class="fa fa-link"></span></a>Ruby Socket Class Hierarchy</h3>
|
|
1209
|
+
<p>To know the socket hierarchy in ruby here a simple tree explains it.</p>
|
|
1210
|
+
<pre><code>IO # The basis for all input and output in Ruby
|
|
1211
|
+
└── BasicSocket # Abstract base class for all socket classes
|
|
1212
|
+
├── IPSocket # Super class for protocols using the Internet Protocol (AF_INET)
|
|
1213
|
+
│ ├── TCPSocket # Class for Transmission Control Protocol (TCP) sockets
|
|
1214
|
+
│ │ ├── SOCKSSocket # Helper class for building TCP socket servers applications
|
|
1215
|
+
│ │ └── TCPServer # Helper class for building TCP socket servers
|
|
1216
|
+
│ └── UDPSocket # Class for User Datagram Protocol (UDP) sockets
|
|
1217
|
+
├── Socket # Base socket class that mimics that BSD Sockets API. It provides more operating system specific functionality
|
|
1218
|
+
└── UNIXSocket # Class providing IPC using the UNIX domain protocol (AF_UNIX)
|
|
1219
|
+
└── UNIXServer # Helper class for building UNIX domain protocol socket servers
|
|
1220
|
+
</code></pre><p>I'll verbosely mention some of <code>Socket::Constants</code> here since I didn't find an obvious reference listing it except <a href="http://media.pragprog.com/titles/ruby3/app_socket.pdf" target="_blank">Programming Ruby1.9 <em>The Pragmatic Programmers' Guide</em></a>; Otherwise you've to <code>ri Socket::Constants</code> from command line which is a good way to get the description of each constant.</p>
|
|
1221
|
+
<h3 id="socket-types"><a name="socket-types" class="plugin-anchor" href="#socket-types"><span class="fa fa-link"></span></a>Socket Types</h3>
|
|
1222
|
+
<ul>
|
|
1223
|
+
<li>SOCK_RAW</li>
|
|
1224
|
+
<li>SOCK_PACKET</li>
|
|
1225
|
+
<li>SOCK_STREAM</li>
|
|
1226
|
+
<li>SOCK_DRAM</li>
|
|
1227
|
+
<li>SOCK_RDM</li>
|
|
1228
|
+
<li>SOCK_SEQPACKET</li>
|
|
1229
|
+
</ul>
|
|
1230
|
+
<h3 id="address-familiessocket-domains"><a name="address-familiessocket-domains" class="plugin-anchor" href="#address-familiessocket-domains"><span class="fa fa-link"></span></a>Address Families(Socket Domains)</h3>
|
|
1231
|
+
<ul>
|
|
1232
|
+
<li>AF_APPLETALK</li>
|
|
1233
|
+
<li>AF_ATM</li>
|
|
1234
|
+
<li>AF_AX25</li>
|
|
1235
|
+
<li>AF_CCITT</li>
|
|
1236
|
+
<li>AF_CHAOS</li>
|
|
1237
|
+
<li>AF_CNT</li>
|
|
1238
|
+
<li>AF_COIP</li>
|
|
1239
|
+
<li>AF_DATAKIT</li>
|
|
1240
|
+
<li>AF_DEC</li>
|
|
1241
|
+
<li>AF_DLI</li>
|
|
1242
|
+
<li>AF_E164</li>
|
|
1243
|
+
<li>AF_ECMA</li>
|
|
1244
|
+
<li>AF_HYLINK</li>
|
|
1245
|
+
<li>AF_IMPLINK</li>
|
|
1246
|
+
<li>AF_INET(IPv4) </li>
|
|
1247
|
+
<li>AF_INET6(IPv6)</li>
|
|
1248
|
+
<li>AF_IPX</li>
|
|
1249
|
+
<li>AF_ISDN</li>
|
|
1250
|
+
<li>AF_ISO</li>
|
|
1251
|
+
<li>AF_LAT</li>
|
|
1252
|
+
<li>AF_LINK</li>
|
|
1253
|
+
<li>AF_LOCAL(UNIX)</li>
|
|
1254
|
+
<li>AF_MAX</li>
|
|
1255
|
+
<li>AF_NATM</li>
|
|
1256
|
+
<li>AF_NDRV</li>
|
|
1257
|
+
<li>AF_NETBIOS</li>
|
|
1258
|
+
<li>AF_NETGRAPH</li>
|
|
1259
|
+
<li>AF_NS</li>
|
|
1260
|
+
<li>AF_OSI</li>
|
|
1261
|
+
<li>AF_PACKET</li>
|
|
1262
|
+
<li>AF_PPP</li>
|
|
1263
|
+
<li>AF_PUP</li>
|
|
1264
|
+
<li>AF_ROUTE</li>
|
|
1265
|
+
<li>AF_SIP</li>
|
|
1266
|
+
<li>AF_SNA</li>
|
|
1267
|
+
<li>AF_SYSTEM</li>
|
|
1268
|
+
<li>AF_UNIX</li>
|
|
1269
|
+
<li>AF_UNSPEC</li>
|
|
1270
|
+
</ul>
|
|
1271
|
+
<h3 id="socket-protocol"><a name="socket-protocol" class="plugin-anchor" href="#socket-protocol"><span class="fa fa-link"></span></a>Socket Protocol</h3>
|
|
1272
|
+
<ul>
|
|
1273
|
+
<li>IPPROTO_SCTP</li>
|
|
1274
|
+
<li>IPPROTO_TCP</li>
|
|
1275
|
+
<li>IPPROTO_UDP</li>
|
|
1276
|
+
</ul>
|
|
1277
|
+
<h3 id="protocol-families"><a name="protocol-families" class="plugin-anchor" href="#protocol-families"><span class="fa fa-link"></span></a>Protocol Families</h3>
|
|
1278
|
+
<ul>
|
|
1279
|
+
<li>PF_APPLETALK</li>
|
|
1280
|
+
<li>PF_ATM</li>
|
|
1281
|
+
<li>PF_AX25</li>
|
|
1282
|
+
<li>PF_CCITT</li>
|
|
1283
|
+
<li>PF_CHAOS</li>
|
|
1284
|
+
<li>PF_CNT</li>
|
|
1285
|
+
<li>PF_COIP</li>
|
|
1286
|
+
<li>PF_DATAKIT</li>
|
|
1287
|
+
<li>PF_DEC</li>
|
|
1288
|
+
<li>PF_DLI</li>
|
|
1289
|
+
<li>PF_ECMA</li>
|
|
1290
|
+
<li>PF_HYLINK</li>
|
|
1291
|
+
<li>PF_IMPLINK</li>
|
|
1292
|
+
<li>PF_INET</li>
|
|
1293
|
+
<li>PF_INET6</li>
|
|
1294
|
+
<li>PF_IPX</li>
|
|
1295
|
+
<li>PF_ISDN</li>
|
|
1296
|
+
<li>PF_ISO</li>
|
|
1297
|
+
<li>PF_KEY</li>
|
|
1298
|
+
<li>PF_LAT</li>
|
|
1299
|
+
<li>PF_LINK</li>
|
|
1300
|
+
<li>PF_LOCAL</li>
|
|
1301
|
+
<li>PF_MAX</li>
|
|
1302
|
+
<li>PF_NATM</li>
|
|
1303
|
+
<li>PF_NDRV</li>
|
|
1304
|
+
<li>PF_NETBIOS</li>
|
|
1305
|
+
<li>PF_NETGRAPH</li>
|
|
1306
|
+
<li>PF_NS</li>
|
|
1307
|
+
<li>PF_OSI</li>
|
|
1308
|
+
<li>PF_PACKET</li>
|
|
1309
|
+
<li>PF_PIP</li>
|
|
1310
|
+
<li>PF_PPP</li>
|
|
1311
|
+
<li>PF_PUP</li>
|
|
1312
|
+
<li>PF_ROUTE</li>
|
|
1313
|
+
<li>PF_RTIP</li>
|
|
1314
|
+
<li>PF_SIP</li>
|
|
1315
|
+
<li>PF_SNA</li>
|
|
1316
|
+
<li>PF_SYSTEM</li>
|
|
1317
|
+
<li>PF_UNIX</li>
|
|
1318
|
+
<li>PF_UNSPEC</li>
|
|
1319
|
+
<li>PF_XTP</li>
|
|
1320
|
+
</ul>
|
|
1321
|
+
<h3 id="socket-options"><a name="socket-options" class="plugin-anchor" href="#socket-options"><span class="fa fa-link"></span></a>Socket options</h3>
|
|
1322
|
+
<ul>
|
|
1323
|
+
<li>SO_ACCEPTCONN</li>
|
|
1324
|
+
<li>SO_ACCEPTFILTER</li>
|
|
1325
|
+
<li>SO_ALLZONES</li>
|
|
1326
|
+
<li>SO_ATTACH_FILTER</li>
|
|
1327
|
+
<li>SO_BINDTODEVICE</li>
|
|
1328
|
+
<li>SO_BINTIME</li>
|
|
1329
|
+
<li>SO_BROADCAST</li>
|
|
1330
|
+
<li>SO_DEBUG</li>
|
|
1331
|
+
<li>SO_DETACH_FILTER</li>
|
|
1332
|
+
<li>SO_DONTROUTE</li>
|
|
1333
|
+
<li>SO_DONTTRUNC</li>
|
|
1334
|
+
<li>SO_ERROR</li>
|
|
1335
|
+
<li>SO_KEEPALIVE</li>
|
|
1336
|
+
<li>SO_LINGER</li>
|
|
1337
|
+
<li>SO_MAC_EXEMPT</li>
|
|
1338
|
+
<li>SO_NKE</li>
|
|
1339
|
+
<li>SO_NOSIGPIPE</li>
|
|
1340
|
+
<li>SO_NO_CHECK</li>
|
|
1341
|
+
<li>SO_NREAD</li>
|
|
1342
|
+
<li>SO_OOBINLINE</li>
|
|
1343
|
+
<li>SO_PASSCRED</li>
|
|
1344
|
+
<li>SO_PEERCRED</li>
|
|
1345
|
+
<li>SO_PEERNAME</li>
|
|
1346
|
+
<li>SO_PRIORITY</li>
|
|
1347
|
+
<li>SO_RCVBUF</li>
|
|
1348
|
+
<li>SO_RCVLOWAT</li>
|
|
1349
|
+
<li>SO_RCVTIMEO</li>
|
|
1350
|
+
<li>SO_RECVUCRED</li>
|
|
1351
|
+
<li>SO_REUSEADDR</li>
|
|
1352
|
+
<li>SO_REUSEPORT</li>
|
|
1353
|
+
<li>SO_SECURITY_AUTHENTICATION</li>
|
|
1354
|
+
<li>SO_SECURITY_ENCRYPTION_NETWORK</li>
|
|
1355
|
+
<li>SO_SECURITY_ENCRYPTION_TRANSPORT</li>
|
|
1356
|
+
<li>SO_SNDBUF</li>
|
|
1357
|
+
<li>SO_SNDLOWAT</li>
|
|
1358
|
+
<li>SO_SNDTIMEO</li>
|
|
1359
|
+
<li>SO_TIMESTAMP</li>
|
|
1360
|
+
<li>SO_TIMESTAMPNS</li>
|
|
1361
|
+
<li>SO_TYPE</li>
|
|
1362
|
+
<li>SO_USELOOPBACK</li>
|
|
1363
|
+
<li>SO_WANTMORE</li>
|
|
1364
|
+
<li>SO_WANTOOBFLAG</li>
|
|
1365
|
+
</ul>
|
|
1366
|
+
<h2 id="creating-socket-template"><a name="creating-socket-template" class="plugin-anchor" href="#creating-socket-template"><span class="fa fa-link"></span></a>Creating Socket Template</h2>
|
|
1367
|
+
<pre><code class="lang-ruby"><span class="hljs-constant">Socket</span>.new(domain, socktype [, protocol])
|
|
1368
|
+
</code></pre>
|
|
1369
|
+
<p><strong>domain(Address/Protocol Families):</strong> like AF_INET, PF_PACKET, etc</p>
|
|
1370
|
+
<p><strong>socktype:</strong> like SOCK_RAW, SOCK_STREAM</p>
|
|
1371
|
+
<p><strong>protocol: </strong> by default, it's <code>0</code>m it should be a protocol defined (we'll manipulate that later)</p>
|
|
1372
|
+
<h2 id="tcp-socket"><a name="tcp-socket" class="plugin-anchor" href="#tcp-socket"><span class="fa fa-link"></span></a>TCP Socket</h2>
|
|
1373
|
+
<p><strong>Server/Client life cycle </strong></p>
|
|
1374
|
+
<pre><code> Client Server
|
|
1375
|
+
| |
|
|
1376
|
+
socket + + socket
|
|
1377
|
+
| |
|
|
1378
|
+
connect +--------, + bind
|
|
1379
|
+
| | |
|
|
1380
|
+
write ,--> +------, | + listen
|
|
1381
|
+
| | | | |
|
|
1382
|
+
read `----+ <--, | `-> + accept
|
|
1383
|
+
| | | |
|
|
1384
|
+
close +--, | `----> + <--, read <--,
|
|
1385
|
+
| | | | |
|
|
1386
|
+
| `--------+----' write ٨
|
|
1387
|
+
| |
|
|
1388
|
+
`----->------>------->----`
|
|
1389
|
+
</code></pre><h3 id="general-socket-usage"><a name="general-socket-usage" class="plugin-anchor" href="#general-socket-usage"><span class="fa fa-link"></span></a>General Socket usage</h3>
|
|
1390
|
+
<h4 id="get-list-of-local-ipaddreses"><a name="get-list-of-local-ipaddreses" class="plugin-anchor" href="#get-list-of-local-ipaddreses"><span class="fa fa-link"></span></a>Get List of local IPaddreses</h4>
|
|
1391
|
+
<pre><code class="lang-ruby"><span class="hljs-keyword">require</span> <span class="hljs-string">'socket'</span>
|
|
1392
|
+
<span class="hljs-constant">Socket</span>.ip_address_list
|
|
1393
|
+
</code></pre>
|
|
1394
|
+
<h4 id="get-hostname"><a name="get-hostname" class="plugin-anchor" href="#get-hostname"><span class="fa fa-link"></span></a>Get Hostname</h4>
|
|
1395
|
+
<pre><code class="lang-ruby"><span class="hljs-constant">Socket</span>.gethostname
|
|
1396
|
+
</code></pre>
|
|
1397
|
+
<h3 id="tcp-server"><a name="tcp-server" class="plugin-anchor" href="#tcp-server"><span class="fa fa-link"></span></a>TCP Server</h3>
|
|
1398
|
+
<p>Here we'll represent an absolute TCP server. This server will access connect from one client and send a message to it once connected then close the client and server connection </p>
|
|
1399
|
+
<pre><code class="lang-ruby"><span class="hljs-keyword">require</span> <span class="hljs-string">'socket'</span>
|
|
1400
|
+
|
|
1401
|
+
server = <span class="hljs-constant">TCPServer</span>.new(<span class="hljs-string">'0.0.0.0'</span>, <span class="hljs-number">9911</span>) <span class="hljs-comment"># Server, binds/listens all interfaces on port 9911</span>
|
|
1402
|
+
client = server.accept <span class="hljs-comment"># Wait for client to connect</span>
|
|
1403
|
+
rhost = client.peeraddr.last <span class="hljs-comment"># peeraddr, returns remote [address_family, port, hostname, numeric_address(ip)]</span>
|
|
1404
|
+
client.puts <span class="hljs-string">"Hi TCP Client! <span class="hljs-subst">#{rhost}</span>"</span> <span class="hljs-comment"># Send a message to the client once it connect</span>
|
|
1405
|
+
client.gets.chomp <span class="hljs-comment"># Read incoming message from client</span>
|
|
1406
|
+
client.close <span class="hljs-comment"># Close the client's connection</span>
|
|
1407
|
+
server.close <span class="hljs-comment"># Close the TCP Server</span>
|
|
1408
|
+
</code></pre>
|
|
1409
|
+
<h3 id="tcp-client"><a name="tcp-client" class="plugin-anchor" href="#tcp-client"><span class="fa fa-link"></span></a>TCP Client</h3>
|
|
1410
|
+
<pre><code class="lang-ruby"><span class="hljs-keyword">require</span> <span class="hljs-string">'socket'</span>
|
|
1411
|
+
|
|
1412
|
+
client = <span class="hljs-constant">TCPSocket</span>.new(<span class="hljs-string">'127.0.0.1'</span>, <span class="hljs-number">9911</span>) <span class="hljs-comment"># Client, connects to server on port 9911</span>
|
|
1413
|
+
rhost = client.peeraddr.last <span class="hljs-comment"># Get the remote server's IP address </span>
|
|
1414
|
+
client.gets.chomp
|
|
1415
|
+
client.puts <span class="hljs-string">"Hi, TCP Server <span class="hljs-subst">#{rhost}</span>"</span>
|
|
1416
|
+
client.close
|
|
1417
|
+
</code></pre>
|
|
1418
|
+
<p>You can put timeout/time interval for current connection in-case the server's response get delayed and the socket is still open.</p>
|
|
1419
|
+
<pre><code class="lang-ruby">timeval = [<span class="hljs-number">3</span>, <span class="hljs-number">0</span>].pack(<span class="hljs-string">"l_2"</span>) <span class="hljs-comment"># Time interval 3 seconds </span>
|
|
1420
|
+
client.setsockopt <span class="hljs-constant">Socket::SOL_SOCKET</span>, <span class="hljs-constant">Socket::SO_RCVTIMEO</span>, timeval <span class="hljs-comment"># Set socket receiving time interval </span>
|
|
1421
|
+
client.setsockopt <span class="hljs-constant">Socket::SOL_SOCKET</span>, <span class="hljs-constant">Socket::SO_SNDTIMEO</span>, timeval <span class="hljs-comment"># Set socket sending time interval</span>
|
|
1422
|
+
client.getsockopt(<span class="hljs-constant">Socket::SOL_SOCKET</span>, <span class="hljs-constant">Socket::SO_RCVTIMEO</span>).inspect <span class="hljs-comment"># Optional, Check if socket option has been set</span>
|
|
1423
|
+
client.getsockopt(<span class="hljs-constant">Socket::SOL_SOCKET</span>, <span class="hljs-constant">Socket::SO_SNDTIMEO</span>).inspect <span class="hljs-comment"># Optional, Check if socket option has been set</span>
|
|
1424
|
+
</code></pre>
|
|
1425
|
+
<p>There are some alternatives for <code>puts</code> and <code>gets</code> methods.You can see the difference and its classes using method method in Pry interpreter console</p>
|
|
1426
|
+
<pre><code class="lang-ruby"><span class="hljs-prompt">>></span> s = <span class="hljs-constant">TCPSocket</span>.new(<span class="hljs-string">'0.0.0.0'</span>, <span class="hljs-number">9911</span>)
|
|
1427
|
+
<span class="hljs-status">=></span> <span class="hljs-value">#<TCPSocket:fd 11></span>
|
|
1428
|
+
<span class="hljs-prompt">>></span> s.method <span class="hljs-symbol">:puts</span>
|
|
1429
|
+
<span class="hljs-status">=></span> <span class="hljs-value">#<Method: TCPSocket(IO)#puts></span>
|
|
1430
|
+
<span class="hljs-prompt">>></span> s.method <span class="hljs-symbol">:write</span>
|
|
1431
|
+
<span class="hljs-status">=></span> <span class="hljs-value">#<Method: TCPSocket(IO)#write></span>
|
|
1432
|
+
<span class="hljs-prompt">>></span> s.method <span class="hljs-symbol">:send</span>
|
|
1433
|
+
<span class="hljs-status">=></span> <span class="hljs-value">#<Method: TCPSocket(BasicSocket)#send></span>
|
|
1434
|
+
</code></pre>
|
|
1435
|
+
<pre><code class="lang-ruby"><span class="hljs-prompt">>></span> s = <span class="hljs-constant">TCPSocket</span>.new(<span class="hljs-string">'0.0.0.0'</span>, <span class="hljs-number">9911</span>)
|
|
1436
|
+
<span class="hljs-status">=></span> <span class="hljs-value">#<TCPSocket:fd 11></span>
|
|
1437
|
+
<span class="hljs-prompt">>></span> s.method <span class="hljs-symbol">:gets</span>
|
|
1438
|
+
<span class="hljs-status">=></span> <span class="hljs-value">#<Method: TCPSocket(IO)#gets></span>
|
|
1439
|
+
<span class="hljs-prompt">>></span> s.method <span class="hljs-symbol">:read</span>
|
|
1440
|
+
<span class="hljs-status">=></span> <span class="hljs-value">#<Method: TCPSocket(IO)#read></span>
|
|
1441
|
+
<span class="hljs-prompt">>></span> s.method <span class="hljs-symbol">:recv</span>
|
|
1442
|
+
<span class="hljs-status">=></span> <span class="hljs-value">#<Method: TCPSocket(BasicSocket)#recv></span>
|
|
1443
|
+
</code></pre>
|
|
1444
|
+
<h2 id="udp-socket"><a name="udp-socket" class="plugin-anchor" href="#udp-socket"><span class="fa fa-link"></span></a>UDP Socket</h2>
|
|
1445
|
+
<h3 id="udp-server"><a name="udp-server" class="plugin-anchor" href="#udp-server"><span class="fa fa-link"></span></a>UDP Server</h3>
|
|
1446
|
+
<pre><code class="lang-ruby"><span class="hljs-keyword">require</span> <span class="hljs-string">'socket'</span>
|
|
1447
|
+
|
|
1448
|
+
server = <span class="hljs-constant">UDPSocket</span>.new <span class="hljs-comment"># Start UDP socket</span>
|
|
1449
|
+
server.bind(<span class="hljs-string">'0.0.0.0'</span>, <span class="hljs-number">9911</span>) <span class="hljs-comment"># Bind all interfaces to port 9911</span>
|
|
1450
|
+
mesg, addr = server.recvfrom(<span class="hljs-number">1024</span>) <span class="hljs-comment"># Receive 1024 bytes of the message and the sender IP</span>
|
|
1451
|
+
server puts <span class="hljs-string">"Hi, UDP Client <span class="hljs-subst">#{addr}</span>"</span>, addr[<span class="hljs-number">3</span>], addr[<span class="hljs-number">1</span>] <span class="hljs-comment"># Send a message to the client </span>
|
|
1452
|
+
server.recv(<span class="hljs-number">1024</span>) <span class="hljs-comment"># Receive 1024 bytes of the message</span>
|
|
1453
|
+
</code></pre>
|
|
1454
|
+
<h3 id="udp-client"><a name="udp-client" class="plugin-anchor" href="#udp-client"><span class="fa fa-link"></span></a>UDP Client</h3>
|
|
1455
|
+
<pre><code class="lang-ruby"><span class="hljs-keyword">require</span> <span class="hljs-string">'socket'</span>
|
|
1456
|
+
client = <span class="hljs-constant">UDPSocket</span>.new
|
|
1457
|
+
client.connect(<span class="hljs-string">'localhost'</span>, <span class="hljs-number">9911</span>) <span class="hljs-comment"># Connect to server on port 991</span>
|
|
1458
|
+
client.puts <span class="hljs-string">"Hi, UDP Server!"</span>, <span class="hljs-number">0</span> <span class="hljs-comment"># Send message </span>
|
|
1459
|
+
server.recv(<span class="hljs-number">1024</span>) <span class="hljs-comment"># Receive 1024 bytes of the server message</span>
|
|
1460
|
+
</code></pre>
|
|
1461
|
+
<p>There alternative for sending and receiving too, figure it out, <a href="http://ruby-doc.org/stdlib-2.0.0/libdoc/socket/rdoc/UDPSocket.html" target="_blank">RubyDoc</a>.</p>
|
|
1462
|
+
<h2 id="gserver"><a name="gserver" class="plugin-anchor" href="#gserver"><span class="fa fa-link"></span></a>GServer</h2>
|
|
1463
|
+
<p>GServer standard library implements a generic server, featuring thread pool management, simple logging, and multi-server management. Any kind of application-level server can be implemented using this class:</p>
|
|
1464
|
+
<ul>
|
|
1465
|
+
<li>It accepts multiple simultaneous connections from clients</li>
|
|
1466
|
+
<li>Several services (i.e. one service per TCP port)<ul>
|
|
1467
|
+
<li>can be run simultaneously, </li>
|
|
1468
|
+
<li>can be stopped at any time through the class method <code>GServer.stop(port)</code></li>
|
|
1469
|
+
</ul>
|
|
1470
|
+
</li>
|
|
1471
|
+
<li>All the threading issues are handled</li>
|
|
1472
|
+
<li>All events are optionally logged</li>
|
|
1473
|
+
</ul>
|
|
1474
|
+
<ul>
|
|
1475
|
+
<li>Very basic GServer</li>
|
|
1476
|
+
</ul>
|
|
1477
|
+
<pre><code class="lang-ruby"><span class="hljs-keyword">require</span> <span class="hljs-string">'gserver'</span>
|
|
1478
|
+
|
|
1479
|
+
<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">HelloServer</span> <span class="hljs-inheritance">< <span class="hljs-parent">GServer</span></span> <span class="hljs-comment"># Inherit GServer class</span></span>
|
|
1480
|
+
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">serve</span><span class="hljs-params">(io)</span></span>
|
|
1481
|
+
io.puts(<span class="hljs-string">"What's your name?"</span>)
|
|
1482
|
+
line = io.gets.chomp
|
|
1483
|
+
io.puts <span class="hljs-string">"Hi, <span class="hljs-subst">#{line}</span>!"</span>
|
|
1484
|
+
<span class="hljs-keyword">self</span>.stop <span class="hljs-keyword">if</span> io.gets =~ <span class="hljs-regexp">/shutdown/</span> <span class="hljs-comment"># Stop the server if you get shutdown string</span>
|
|
1485
|
+
<span class="hljs-keyword">end</span>
|
|
1486
|
+
<span class="hljs-keyword">end</span>
|
|
1487
|
+
|
|
1488
|
+
server = <span class="hljs-constant">HelloServer</span>.new(<span class="hljs-number">1234</span>, <span class="hljs-string">'0.0.0.0'</span>) <span class="hljs-comment"># Start the server on port 1234</span>
|
|
1489
|
+
server.audit = <span class="hljs-keyword">true</span> <span class="hljs-comment"># Enable logging</span>
|
|
1490
|
+
server.start <span class="hljs-comment"># Start the service </span>
|
|
1491
|
+
server.join
|
|
1492
|
+
</code></pre>
|
|
1493
|
+
<h2 id=""><a name="" class="plugin-anchor" href="#"><span class="fa fa-link"></span></a><br><br><br></h2>
|
|
1494
|
+
|
|
1495
|
+
|
|
1496
|
+
</section>
|
|
1497
|
+
|
|
1498
|
+
|
|
1499
|
+
</div>
|
|
1500
|
+
</div>
|
|
1501
|
+
</div>
|
|
1502
|
+
|
|
1503
|
+
|
|
1504
|
+
<a href="../module_0x3__network_kung_fu/index.html" class="navigation navigation-prev " aria-label="Previous page: Module 0x3 | Network Kung Fu"><i class="fa fa-angle-left"></i></a>
|
|
1505
|
+
|
|
1506
|
+
|
|
1507
|
+
<a href="../module_0x3__network_kung_fu/ssid_finder.html" class="navigation navigation-next " aria-label="Next page: SSID Finder"><i class="fa fa-angle-right"></i></a>
|
|
1508
|
+
|
|
1509
|
+
</div>
|
|
1510
|
+
</div>
|
|
1511
|
+
|
|
1512
|
+
|
|
1513
|
+
<script src="../gitbook/app.js"></script>
|
|
1514
|
+
|
|
1515
|
+
|
|
1516
|
+
<script src="../gitbook/plugins/gitbook-plugin-splitter/splitter.js"></script>
|
|
1517
|
+
|
|
1518
|
+
|
|
1519
|
+
|
|
1520
|
+
<script src="../gitbook/plugins/gitbook-plugin-book-summary-scroll-position-saver/book-summary-scroll-position-saver.js"></script>
|
|
1521
|
+
|
|
1522
|
+
|
|
1523
|
+
|
|
1524
|
+
<script src="../gitbook/plugins/gitbook-plugin-expandable-chapters/expandable-chapters.js"></script>
|
|
1525
|
+
|
|
1526
|
+
|
|
1527
|
+
|
|
1528
|
+
<script src="../gitbook/plugins/gitbook-plugin-search/lunr.min.js"></script>
|
|
1529
|
+
|
|
1530
|
+
|
|
1531
|
+
|
|
1532
|
+
<script src="../gitbook/plugins/gitbook-plugin-search/search.js"></script>
|
|
1533
|
+
|
|
1534
|
+
|
|
1535
|
+
|
|
1536
|
+
<script src="../gitbook/plugins/gitbook-plugin-sharing/buttons.js"></script>
|
|
1537
|
+
|
|
1538
|
+
|
|
1539
|
+
|
|
1540
|
+
<script src="../gitbook/plugins/gitbook-plugin-fontsettings/buttons.js"></script>
|
|
1541
|
+
|
|
1542
|
+
|
|
1543
|
+
<script>
|
|
1544
|
+
require(["gitbook"], function(gitbook) {
|
|
1545
|
+
var config = {"addcssjs":{"js":["styles/header.js"]},"anchors":{},"todo":{},"splitter":{},"book-summary-scroll-position-saver":{},"expandable-chapters":{},"highlight":{},"search":{"maxIndexSize":1000000},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2}};
|
|
1546
|
+
gitbook.start(config);
|
|
1547
|
+
});
|
|
1548
|
+
</script>
|
|
1549
|
+
|
|
1550
|
+
|
|
1551
|
+
</body>
|
|
1552
|
+
|
|
1553
|
+
</html>
|