- Seite 1 und 2:
X. systems.press X.systems.press is
- Seite 3 und 4:
Markus Zahn unp@bit-oase.de http://
- Seite 5 und 6:
VI Vorwort ein Unix-ähnliches Betr
- Seite 7 und 8:
Inhaltsverzeichnis 1 Einführung ..
- Seite 9 und 10:
Inhaltsverzeichnis XI 5 Netzwerkpro
- Seite 11 und 12:
Beispielprogramme 2.1 exit-test.c .
- Seite 13 und 14:
Beispielprogramme XV 7.7 openssl-ut
- Seite 15 und 16:
2 1 Einführung durchaus unterschie
- Seite 17 und 18:
4 1 Einführung 1.1.2 Internet-Schi
- Seite 19 und 20:
6 1 Einführung abschließenden Ver
- Seite 21 und 22:
8 1 Einführung Die vielen verschie
- Seite 23 und 24:
10 2 Programmieren mit Unix-Prozess
- Seite 25 und 26:
12 2 Programmieren mit Unix-Prozess
- Seite 27 und 28:
14 2 Programmieren mit Unix-Prozess
- Seite 29 und 30:
16 2 Programmieren mit Unix-Prozess
- Seite 31 und 32:
18 2 Programmieren mit Unix-Prozess
- Seite 33 und 34:
20 2 Programmieren mit Unix-Prozess
- Seite 35 und 36:
22 2 Programmieren mit Unix-Prozess
- Seite 37 und 38:
24 2 Programmieren mit Unix-Prozess
- Seite 39 und 40:
26 2 Programmieren mit Unix-Prozess
- Seite 41 und 42:
28 2 Programmieren mit Unix-Prozess
- Seite 43 und 44:
30 2 Programmieren mit Unix-Prozess
- Seite 45 und 46:
32 2 Programmieren mit Unix-Prozess
- Seite 47 und 48:
34 2 Programmieren mit Unix-Prozess
- Seite 49 und 50:
36 2 Programmieren mit Unix-Prozess
- Seite 51 und 52:
38 2 Programmieren mit Unix-Prozess
- Seite 53 und 54:
40 2 Programmieren mit Unix-Prozess
- Seite 55 und 56:
42 2 Programmieren mit Unix-Prozess
- Seite 57 und 58:
44 2 Programmieren mit Unix-Prozess
- Seite 59 und 60: 46 2 Programmieren mit Unix-Prozess
- Seite 61 und 62: 48 2 Programmieren mit Unix-Prozess
- Seite 63 und 64: 50 2 Programmieren mit Unix-Prozess
- Seite 65 und 66: 52 2 Programmieren mit Unix-Prozess
- Seite 67 und 68: 54 2 Programmieren mit Unix-Prozess
- Seite 69 und 70: 56 2 Programmieren mit Unix-Prozess
- Seite 71 und 72: 58 2 Programmieren mit Unix-Prozess
- Seite 73 und 74: 60 2 Programmieren mit Unix-Prozess
- Seite 75 und 76: 62 2 Programmieren mit Unix-Prozess
- Seite 77 und 78: 64 2 Programmieren mit Unix-Prozess
- Seite 79 und 80: 66 2 Programmieren mit Unix-Prozess
- Seite 81 und 82: 68 2 Programmieren mit Unix-Prozess
- Seite 83 und 84: 70 2 Programmieren mit Unix-Prozess
- Seite 85 und 86: 72 2 Programmieren mit Unix-Prozess
- Seite 87 und 88: 74 2 Programmieren mit Unix-Prozess
- Seite 89 und 90: 76 2 Programmieren mit Unix-Prozess
- Seite 91 und 92: 78 2 Programmieren mit Unix-Prozess
- Seite 93 und 94: 80 2 Programmieren mit Unix-Prozess
- Seite 95 und 96: 82 2 Programmieren mit Unix-Prozess
- Seite 97 und 98: 84 2 Programmieren mit Unix-Prozess
- Seite 99 und 100: 86 2 Programmieren mit Unix-Prozess
- Seite 101 und 102: 88 2 Programmieren mit Unix-Prozess
- Seite 103 und 104: 90 2 Programmieren mit Unix-Prozess
- Seite 105 und 106: 92 2 Programmieren mit Unix-Prozess
- Seite 107 und 108: 94 2 Programmieren mit Unix-Prozess
- Seite 109: 96 2 Programmieren mit Unix-Prozess
- Seite 113 und 114: 100 2 Programmieren mit Unix-Prozes
- Seite 115 und 116: 3 Programmieren mit POSIX-Threads W
- Seite 117 und 118: 3.1 Grundlagen 105 t2 den selben Th
- Seite 119 und 120: 3.1 Grundlagen 107 11 12 return( NU
- Seite 121 und 122: 3.1 Grundlagen 109 Ready: Der Threa
- Seite 123 und 124: 14 printf( "Thread Nr. %d ist ferti
- Seite 125 und 126: 3.1 Grundlagen 113 Abläufe, deren
- Seite 127 und 128: 3.2 Synchronisation 115 Die Ausgabe
- Seite 129 und 130: 3.2 Synchronisation 117 1 #include
- Seite 131 und 132: 3.2 Synchronisation 119 Das vorgest
- Seite 133 und 134: 3.2 Synchronisation 121 Bevor ein M
- Seite 135 und 136: 1 #include 2 #include 3 #include
- Seite 137 und 138: 3.2 Synchronisation 125 97 exit( 0
- Seite 139 und 140: 3.2 Synchronisation 127 Mittels pth
- Seite 141 und 142: 3.2 Synchronisation 129 legt jedoch
- Seite 143 und 144: 1 #include 2 #include 3 #include
- Seite 145 und 146: 3.2 Synchronisation 133 96-103 In e
- Seite 147 und 148: 3.3 Pthreads und Unix-Prozesse 3.3
- Seite 149 und 150: 3.3 Pthreads und Unix-Prozesse 137
- Seite 151 und 152: 3.3 Pthreads und Unix-Prozesse 139
- Seite 153 und 154: 3.3 Pthreads und Unix-Prozesse 141
- Seite 155 und 156: Beispiel 3.9. pthreads-signal.c, Te
- Seite 157 und 158: 3.3 Pthreads und Unix-Prozesse 145
- Seite 159 und 160: 4 Grundlagen der Socket-Programmier
- Seite 161 und 162:
4.1 Erste Schritte mit telnet und i
- Seite 163 und 164:
4.1 Erste Schritte mit telnet und i
- Seite 165 und 166:
4.1 Erste Schritte mit telnet und i
- Seite 167 und 168:
22 setvbuf( stdout , NULL, _IOLBF ,
- Seite 169 und 170:
4.2 IP-Namen und IP-Adressen 157 oh
- Seite 171 und 172:
4.2 IP-Namen und IP-Adressen 159 Ro
- Seite 173 und 174:
4.2 IP-Namen und IP-Adressen 161 7
- Seite 175 und 176:
4.2 IP-Namen und IP-Adressen 163 Ne
- Seite 177 und 178:
4.2 IP-Namen und IP-Adressen 165 Ta
- Seite 179 und 180:
4.2 IP-Namen und IP-Adressen 167 ::
- Seite 181 und 182:
4.2 IP-Namen und IP-Adressen 169 Al
- Seite 183 und 184:
4.2 IP-Namen und IP-Adressen 171 In
- Seite 185 und 186:
4.2 IP-Namen und IP-Adressen 173 Al
- Seite 187 und 188:
4.2 IP-Namen und IP-Adressen 175 4-
- Seite 189 und 190:
4.2 IP-Namen und IP-Adressen 177 #i
- Seite 191 und 192:
4.3 Sockets 179 Das Beispiel zeigt,
- Seite 193 und 194:
4.3 Sockets 181 wird. Auch hier set
- Seite 195 und 196:
4.3 Sockets 183 soll, nicht geeigne
- Seite 197 und 198:
4.3 Sockets 185 connect() erwartet
- Seite 199 und 200:
4.3 Sockets 187 42 sizeof( sa ) ) <
- Seite 201 und 202:
4.3 Sockets 189 kehrt umgehend mit
- Seite 203 und 204:
4.3 Sockets 191 Für ein Clientprog
- Seite 205 und 206:
4.3 Sockets 193 Mit der listen()-Fu
- Seite 207 und 208:
4.3 Sockets 195 Server Programm 3 a
- Seite 209 und 210:
12 int main( int argc, char *argv[]
- Seite 211 und 212:
4.3 Sockets 199 Nachdem das Clientp
- Seite 213 und 214:
4.3 Sockets 201 austausch beginnen.
- Seite 215 und 216:
4.3 Sockets 203 CLOSED passive open
- Seite 217 und 218:
4.3 Sockets 205 Während die Verbin
- Seite 219 und 220:
4.3 Sockets 207 eine Socket-Adreßs
- Seite 221 und 222:
4.3 Sockets 209 50-58 Die Antwort d
- Seite 223 und 224:
4.3 Sockets 211 Wir modifizieren un
- Seite 225 und 226:
4.3 Sockets 213 Ein- und Ausgabefun
- Seite 227 und 228:
4.3 Sockets 215 17-18 19-22 Neu ist
- Seite 229 und 230:
4.3 Sockets 217 82 83 alarm( 20 );
- Seite 231 und 232:
4.3 Sockets 219 auf gleichzeitig ei
- Seite 233 und 234:
4.3 Sockets 221 1-4 6-7 9-12 14-16
- Seite 235 und 236:
4.3 Sockets 223 4.3.12 Socket-Optio
- Seite 237 und 238:
4.3 Sockets 225 1 int socket; 2 str
- Seite 239 und 240:
4.4 Namensauflösung 227 Die Socket
- Seite 241 und 242:
4.4 Namensauflösung 229 Aufruf erf
- Seite 243 und 244:
4.4 Namensauflösung 231 1-17 ai_ca
- Seite 245 und 246:
81 close( sd ); 82 } 4.4 Namensaufl
- Seite 247 und 248:
5 Netzwerkprogrammierung in der Pra
- Seite 249 und 250:
5.1.1 Funktionsumfang der Testumgeb
- Seite 251 und 252:
5.1 Aufbau der Testumgebung 239 19
- Seite 253 und 254:
5.1 Aufbau der Testumgebung 241 Im
- Seite 255 und 256:
5.1 Aufbau der Testumgebung 243 72
- Seite 257 und 258:
5.1 Aufbau der Testumgebung 245 20-
- Seite 259 und 260:
5.1 Aufbau der Testumgebung 247 39
- Seite 261 und 262:
5.1 Aufbau der Testumgebung 249 69
- Seite 263 und 264:
5.1 Aufbau der Testumgebung 251 37
- Seite 265 und 266:
5.1 Aufbau der Testumgebung 253 77-
- Seite 267 und 268:
5.2 Iterative Server 255 165 166 ex
- Seite 269 und 270:
5.2 Iterative Server 257 1 #include
- Seite 271 und 272:
5.2 Iterative Server 259 49-62 64-7
- Seite 273 und 274:
5.2 Iterative Server 261 27 28 /* B
- Seite 275 und 276:
5.2 Iterative Server 263 ggf. seine
- Seite 277 und 278:
5.2 Iterative Server 265 zwischen j
- Seite 279 und 280:
5.3 Nebenläufige Server mit mehrer
- Seite 281 und 282:
5.3 Nebenläufige Server mit mehrer
- Seite 283 und 284:
5.3 Nebenläufige Server mit mehrer
- Seite 285 und 286:
5.3 Nebenläufige Server mit mehrer
- Seite 287 und 288:
5.4 Nebenläufige Server mit Prethr
- Seite 289 und 290:
5.4 Nebenläufige Server mit Prethr
- Seite 291 und 292:
5.4 Nebenläufige Server mit Prethr
- Seite 293 und 294:
5.5 Nebenläufige Server mit mehrer
- Seite 295 und 296:
5.5 Nebenläufige Server mit mehrer
- Seite 297 und 298:
48 for(;;) 49 { 50 slen = sizeof( s
- Seite 299 und 300:
117 exit( EXIT_FAILURE ); 118 } 5.5
- Seite 301 und 302:
5.6 Nebenläufige Server mit Prefor
- Seite 303 und 304:
1 #include 2 #include 3 #include
- Seite 305 und 306:
5.6 Nebenläufige Server mit Prefor
- Seite 307 und 308:
99 exit( EXIT_FAILURE ); 100 } 5.6
- Seite 309 und 310:
5.6 Nebenläufige Server mit Prefor
- Seite 311 und 312:
5.7 Zusammenfassung 299 Zeiten aus
- Seite 313 und 314:
6 Netzwerkprogrammierung mit SSL Di
- Seite 315 und 316:
6.1 Strategien zur Absicherung des
- Seite 317 und 318:
6.1 Strategien zur Absicherung des
- Seite 319 und 320:
6.1 Strategien zur Absicherung des
- Seite 321 und 322:
6.1 Strategien zur Absicherung des
- Seite 323 und 324:
6.1 Strategien zur Absicherung des
- Seite 325 und 326:
6.2 SSL-Grundlagen 313 Das via SSL
- Seite 327 und 328:
6.2 SSL-Grundlagen 315 daraus entsp
- Seite 329 und 330:
6.2 SSL-Grundlagen 317 1. Der Clien
- Seite 331 und 332:
6.2 SSL-Grundlagen 319 SSL-Upgrade
- Seite 333 und 334:
6.2 SSL-Grundlagen 321 Port auf SSL
- Seite 335 und 336:
6.3 OpenSSL-Basisfunktionalität 32
- Seite 337 und 338:
6.3 OpenSSL-Basisfunktionalität 32
- Seite 339 und 340:
6.3 OpenSSL-Basisfunktionalität 32
- Seite 341 und 342:
6.3 OpenSSL-Basisfunktionalität 32
- Seite 343 und 344:
4 bio = BIO_new( BIO_s_file() ); 5
- Seite 345 und 346:
6.3 OpenSSL-Basisfunktionalität 33
- Seite 347 und 348:
6.3 OpenSSL-Basisfunktionalität 33
- Seite 349 und 350:
6.3 OpenSSL-Basisfunktionalität 33
- Seite 351 und 352:
6.3 OpenSSL-Basisfunktionalität 33
- Seite 353 und 354:
6.3 OpenSSL-Basisfunktionalität 34
- Seite 355 und 356:
6.3 OpenSSL-Basisfunktionalität 34
- Seite 357 und 358:
6.3 OpenSSL-Basisfunktionalität 34
- Seite 359 und 360:
6.3 OpenSSL-Basisfunktionalität 34
- Seite 361 und 362:
19 { 6.3 OpenSSL-Basisfunktionalit
- Seite 363 und 364:
6.3 OpenSSL-Basisfunktionalität 35
- Seite 365 und 366:
6.3 OpenSSL-Basisfunktionalität 35
- Seite 367 und 368:
6.3 OpenSSL-Basisfunktionalität 35
- Seite 369 und 370:
7 Client-/Server-Programmierung mit
- Seite 371 und 372:
7.2 Der SSL-Kontext 359 13-18 20-25
- Seite 373 und 374:
7.2 Der SSL-Kontext 361 aus der Bes
- Seite 375 und 376:
7.2 Der SSL-Kontext 363 47-57 59-69
- Seite 377 und 378:
7.2 Der SSL-Kontext 365 #include l
- Seite 379 und 380:
7.2 Der SSL-Kontext 367 wie folgt z
- Seite 381 und 382:
7.3 Sicherer Umgang mit X.509-Zerti
- Seite 383 und 384:
7.3 Sicherer Umgang mit X.509-Zerti
- Seite 385 und 386:
12 #include "openssl -util.h" 7.3 S
- Seite 387 und 388:
7.3 Sicherer Umgang mit X.509-Zerti
- Seite 389 und 390:
7.3 Sicherer Umgang mit X.509-Zerti
- Seite 391 und 392:
7.3 Sicherer Umgang mit X.509-Zerti
- Seite 393 und 394:
7.3 Sicherer Umgang mit X.509-Zerti
- Seite 395 und 396:
7.3 Sicherer Umgang mit X.509-Zerti
- Seite 397 und 398:
7.3 Sicherer Umgang mit X.509-Zerti
- Seite 399 und 400:
7.3 Sicherer Umgang mit X.509-Zerti
- Seite 401 und 402:
7.4 Client-/Server-Beispiel: SMTP m
- Seite 403 und 404:
16 { 17 BIO_puts( bio, req ); 18 BI
- Seite 405 und 406:
7.4 Client-/Server-Beispiel: SMTP m
- Seite 407 und 408:
7.4 Client-/Server-Beispiel: SMTP m
- Seite 409 und 410:
7.4 Client-/Server-Beispiel: SMTP m
- Seite 411 und 412:
7.4 Client-/Server-Beispiel: SMTP m
- Seite 413 und 414:
98 { 7.4 Client-/Server-Beispiel: S
- Seite 415 und 416:
7.4 Client-/Server-Beispiel: SMTP m
- Seite 417 und 418:
227 BIO_free( bio ); 228 exit( EXIT
- Seite 419 und 420:
7.5 Zusammenfassung 407 oder den An
- Seite 421 und 422:
410 A Anhang Erzeugen eines geheime
- Seite 423 und 424:
412 A Anhang A.1.2 Neue Zertifikate
- Seite 425 und 426:
414 A Anhang $ openssl ca -out serv
- Seite 427 und 428:
416 A Anhang auf Null gezählt hat,
- Seite 429 und 430:
418 A Anhang 6-11 13-26 28-46 48-53
- Seite 431 und 432:
420 A Anhang 69 barrier ->cycle++;
- Seite 433 und 434:
Literaturverzeichnis [BLFN96] Tim B
- Seite 435 und 436:
Literaturverzeichnis 425 [Kle01] Jo
- Seite 437 und 438:
Sachverzeichnis Öffnen, aktives, 1
- Seite 439 und 440:
Sachverzeichnis 429 ERR get error()
- Seite 441 und 442:
Sachverzeichnis 431 Protokoll, verb
- Seite 443 und 444:
SSL VERIFY FAIL IF NO PEER CERT, 37