Index YMBOLS - Springer978-1-4302-0660-6/1.pdfasynchronous I/0 operations, 46 FileStream class and,...

28
Index YMBOLS # character, 90 period indicating end of transmission, 225 as thousands separator in currency, 357 'A Abort method WebRequest class, 103 absolute URis, 94 AbsolutePath property Uri class, 93, 107 AbsoluteUri property Uri class, 92 Abstract Syntax Notation naming convention, 181 Accept header (HTTP), 347 Accept method Socket class, 126, 130 Accept property HttpWebRequest class, 354 WebPermissionAttribute class, 115 Accept value NetworkAccess enumeration, 113, 158 AcceptClient method Tcpllstener class, 60 Accepilist property WebPermission class, 113 AcceptSocketmethod Tcpllstener class, 245,247 AcceptTcpClient method Tcpllstener class, 245, 247 access control commands (FTP protocol), 28 Access property SocketPermissionAttribute class, 115 ACK control bit (TCP/IP), 214, 215 ACK messages (acknowledgment messages), 23 acknowledgment numbers, 214 activation modes, for remote objects, 257 Activator class, 257,258, 260 active caching, 109 active mode (FTP protocol), 230 active open, 23 Active property TcpClient class, 219, 222 Tcpllstener class, 245 UdpClient class, 270, 280 Add method Attachments collection, 411 CookieContainer class, 372 CredentialCache class, 112, 370 WebHeaderCollection class, 353 AddMembership value SocketOptionName enumeration, 308 Address property IPAddress class, 96 WebProxyclass, 110, 111 Address Resolution Protocol (ARP), 13 address types, in 1Pv6, 194 AddressFamily enumeration, 129 AddressFarnily property IPAddress class, 201, 204 Socket class, 125 Addressllst property IPHostEntry class, 98 AddSourceGroup value SocketOptionName enumeration, 309 algorithms, for cryptography. See asymmetric algorithms; cryptography algorithms; symmetric algorithms Aliases property IPHostEntry class, 98 AllAccess permission, 496 Any field IPAddress class, 96, 246 anycast addresses, 194 APOP command (POP3), 407 app.config file chat application and, 311 enabling 1Pv4 in, 198 Append permission, 496 AppleTalk protocol, 5 application domains (AppDomains), 252 application filters, 39 application layer (OSI model), 12, 15 ApplicationHost class, 385 ApplicationName property RemotingConfiguration class, 260 applications chat (sample application), 309-317 cryptography and, 468-47 4 using UDP, 281-285 client/ server asynchronous, 141-154 1Pv6-based,203-207 multithreaded, 247-252 501

Transcript of Index YMBOLS - Springer978-1-4302-0660-6/1.pdfasynchronous I/0 operations, 46 FileStream class and,...

Page 1: Index YMBOLS - Springer978-1-4302-0660-6/1.pdfasynchronous I/0 operations, 46 FileStream class and, 55 asynchronous IP address resolution, 100 asynchronous programming, 140-154 clients

Index

YMBOLS # character, 90 period

indicating end of transmission, 225 as thousands separator in currency, 357

'A Abort method

WebRequest class, 103 absolute URis, 94 AbsolutePath property

Uri class, 93, 107 Absolute Uri property

Uri class, 92 Abstract Syntax Notation naming

convention, 181 Accept header (HTTP), 347 Accept method

Socket class, 126, 130 Accept property

HttpWebRequest class, 354 WebPermissionAttribute class, 115

Accept value NetworkAccess enumeration, 113, 158

AcceptClient method Tcpllstener class, 60

Accepilist property Web Permission class, 113

AcceptSocketmethod Tcpllstener class, 245,247

AcceptTcpClient method Tcpllstener class, 245, 247

access control commands (FTP protocol), 28 Access property

SocketPermissionAttribute class, 115 ACK control bit (TCP/IP), 214, 215 ACK messages (acknowledgment

messages), 23 acknowledgment numbers, 214 activation modes, for remote objects, 257 Activator class, 257,258, 260 active caching, 109 active mode (FTP protocol), 230 active open, 23 Active property

TcpClient class, 219, 222 Tcpllstener class, 245 UdpClient class, 270, 280

Add method Attachments collection, 411 CookieContainer class, 372 CredentialCache class, 112, 370 WebHeaderCollection class, 353

AddMembership value SocketOptionName enumeration, 308

Address property IPAddress class, 96 WebProxyclass, 110, 111

Address Resolution Protocol (ARP), 13 address types, in 1Pv6, 194 AddressFamily enumeration, 129 AddressFarnily property

IPAddress class, 201, 204 Socket class, 125

Addressllst property IPHostEntry class, 98

AddSourceGroup value SocketOptionName enumeration, 309

algorithms, for cryptography. See asymmetric algorithms; cryptography algorithms; symmetric algorithms

Aliases property IPHostEntry class, 98

AllAccess permission, 496 Any field

IPAddress class, 96, 246 anycast addresses, 194 APOP command (POP3), 407 app.config file

chat application and, 311 enabling 1Pv4 in, 198

Append permission, 496 AppleTalk protocol, 5 application domains (AppDomains), 252 application filters, 39 application layer (OSI model), 12, 15 ApplicationHost class, 385 ApplicationName property

RemotingConfiguration class, 260 applications

chat (sample application), 309-317 cryptography and, 468-4 7 4 using UDP, 281-285

client/ server asynchronous, 141-154 1Pv6-based,203-207 multithreaded, 247-252 501

Page 2: Index YMBOLS - Springer978-1-4302-0660-6/1.pdfasynchronous I/0 operations, 46 FileStream class and, 55 asynchronous IP address resolution, 100 asynchronous programming, 140-154 clients

502 INDEX

applications (continued) socket-based, 124, 126-134 SSPI, 492

currency converter (sample), 355-357 e-mail client (sample), 223-229 me transfer (sample), 285-292 identity permissions for, 497 multicasting and, 297 NNTP newsgroup (sample), 422-429 picture show (sample), 317-343

client for, 335-341 configuring, 328-332 pictures for, 309,318-334 joining multicast groups and, 339 serverfo~324-334 starting/running, 341

POP3 mail (sample), 414-421 remoting(sample),255-261,387-391 SMTP mail (sample), 412 SSPI authentication for, 488-493 trace utility, 176-179 WriteCookie (sample), 371-375

APressServer class, 377-385 ArgumentNullException class, 272 ArgumentOutOtRangeException class, 271 ARP (Address Resolution Protocol), 13 arp utility, 13 ArrayList class, 416 ARTICLE command (NNTP), 422 ASCII property

Encoding class, 284, 367, 381 ASCIIEncoding class, 65,284,367,381

POP3 and, 418 ASN.1 naming convention, 181 ASP. NET

cookie creation, test page for, 372, 375 hosting framework, support for, 385 HTTP servers, support for, 375-387 impersonation and, 499

aspNetEmail, 409 ASPXHosting class, 377,381,384 assemblies, strongly named, 116 AssemblyKeyFileAttribute class, 116 Assert method

CodeAccessPermission class, 495-497 SocketPerrnission class, 157

asymmetric algorithms, 435, 437 DSA, 438, 459 .NET and, 459-466 network programming and, 4 73 RSA, 438, 459, 460 vs. symmetric algorithms, 437

AsymmetricAlgorithm class, 444, 459 RSA class and, 460

AsyncCallbackdelegate, 55, 101, 141 Begin Connect method and, 145

asynchronous I/0 operations, 46 FileStream class and, 55

asynchronous IP address resolution, 100 asynchronous programming, 140-154

clients and, 141-149 declarative security and, 159 imperative security and, 155

AsyncCallback delegate and, 141 servers and, 150-154 synchronization and, 145

Asynchronous Transfer Mode (ATM), 5 AsyncState property

IAsyncResult interface, 146 ATM (Asynchronous Transfer Mode), 5 Attachments property

MailMessage class, 410,411 Authenticate method

lAuthenticationModule, 498 authentication,112,368-370,475

cryptography and, 434 hashing algorithms, using for, 448 impersonation and, 499 Kerberos,480-487 key-based, 480 NTLM, 476-480 protocols for, 475-500 SNMP community names and, 180 System.Net classes for, 86 for Wmdows operating systems, 487-493

authentication modules, 498 AuthenticationManager class, 86, 498 Authentication1YJ>e property

lAuthenticationModule, 498 Authority property

Uri class, 92 authorization, 475

System.Net classes for, 86 Authorization class, 86 automatic events, 140 Available property

Socket class, 125

B B-Node node type, 100 backbones, 2 BaseStream property

BinaryReader class, 68 BinaryWriter class, 68 StrearnReader class, 71

basic authentication, 368 Bee header (e-mail), 400 Bee property

MailMessage class, 410 BeginAccept method

Socket class, 153 Begin Connect method

Socket class, 145, 148

Page 3: Index YMBOLS - Springer978-1-4302-0660-6/1.pdfasynchronous I/0 operations, 46 FileStream class and, 55 asynchronous IP address resolution, 100 asynchronous programming, 140-154 clients

BeginGetHostByName Dns class, 100

BeginGetRequestStream method WebRequest class, 103

BeginGetResponse method WebRequest class, 103

BeginRead method FileStream class, 55, 56 Stream class, 49

BeginReceive method Socket class, 147, 153

BeginSend method Socket class, 146, 153

Begin Write method FileStream class, 55 Stream class, 49

BGP (Border Gateway Protocol), 9 big endian byte order, 96 binary formatters, 254 BinaryFormatter class, 78

using, 79 BinaryReader class, 45, 64

Read methods for (table), 67 using, 69 vs. StreamReader class, 71

BinaryWriter class, 45, 64, 67 using, 69

Bind method Socket class, 126, 130

block ciphers, 441 cipher modes and, 443

block size, 441 blocked functions, 140 Blocking property

Socket class, 125, 280 BlockSize property

SymmetricAlgorithm class, 453 Blowfish algorithm, 437, 444 Body property

MailMessage class, 410 BodyEncoding property

MailMessage class, 410 BodyFormat property

MailMessage class, 410 bookmarks, 90 Border Gateway Protocol (BGP), 9 broadcast addresses, 291,296 Broadcast field

IPAddress class, 96 broadcastmessages,291

vs. unicast and multicast messages, 24 broadcasts, reducing via routers, 8 BufferedStream class, 47,57 buffers, 57 buttons, for chat application, 310 BypassArrayList property

Web Proxy class, 110

BypassList property WebProxyclass,110,111

BypassProxyOnLocal property WebProxy class, 110

byte order, 96 caching, 109

• Caesar ciphers, 434 CallBackFunction method, 55 CanPreAuthenticate property

IAuthenticationModule, 498 CanRead property

Stream class, 48 CanSeek property

Stream class, 48 Can Write property

Stream class, 48 CAPICOM (Microsoft), 444 Carrier Sense Multiple Access/Collision

Detect networks (CSMA/CD networks), 5

CAs (certifying authorities), 466 CAS (Code Access Security), 493 caspol.exe tool, 116 CAsyncSocket class, 218 CBC mode, 443 Cc header (e-mail), 400 Cc property

MailMessage class, 410 CDOSYS message component, 409

INDEX 503

System.Web.Mail namespace and, 414 certifying authorities (CAs), 466 CFB mode, 443 challenge-response authentication, 476-480

Needham-Schroeder protocol and, 482 channel sinks, 254 ChannelName property

HttpChannel/TcpChannel classes, 257 channels, 253

registering more than one, 257 ChannelServices class, 257 chat sample application, 309-317

cryptography and, 468-4 7 4 joining multicast groups and, 313 leaving multicast groups and, 316 setting up I configuring, 309-312 starting, 316 using UDP, 281-285

ChatForm class, 310 CheckHostName method

Uri class, 92 CheckSchemeName method

Uri class, 92 checksum, 265 Checksum element (ICMP), 164

Page 4: Index YMBOLS - Springer978-1-4302-0660-6/1.pdfasynchronous I/0 operations, 46 FileStream class and, 55 asynchronous IP address resolution, 100 asynchronous programming, 140-154 clients

504 I~~ D EX

Checksum method ICMP custom class, 170, 176

chunking, 358 Cipher Block Chaining mode (CBC

mode),443 Cipher Feedback mode (CFB mode), 443 cipher text, 432

UI for displaying, 461 Cipher Text Stealing mode (CTS mode), 443 Cipher Mode enumeration, 443 ciphers, 432 Class DIP addresses, 297,298 clear text, UI for displaying, 461 client-activated objects, 257

creating, 260 client authentication, in .NET, 498 client certificates, 466 client console application, for testing FTP

clients, 243 Client property

TcpClient class, 219, 222 UdpClient class, 270, 280

client/ server applications asynchronous, 141-154 day/time servers, 123 IPv6-based,203-207 multithreaded,247-252 socket-based, 124, 126-134 SSPI, 492

ClientHandler custom class, 252 Close method

BinaryReader class, 68, 70 BinaryWriter class, 69 CryptoStream class, 63 FileStream class, 56, 69, 70, 286 FtpClient custom class, 242 FtpWebResponse custom class, 235 NetworkStream class, 59 Socket class, 126, 131, 134, 137 Stream class, 50 TcpClient class, 61, 219, 222 TextReader class, 71 TextWriter class, 73 UdpClient class, 269, 278, 286, 316 WebResponse class, 104

CLR (Common Language Runtime), 493 identity permissions and, 497

code-access permissions, 154. See also socket permissions

classes for, 494-497 Code Access Security (CAS), 493 Code element (ICMP), 164 code groups, 116, 494 CodeAccessPermission class, 494, 497 Collaboration Data Objects for Windows

2000 (CDOSYS), 409

colon-hexadecimal form addressing, 193 comma(,), converting decimal point to, 357 Common Language Runtime (CLR), 493, 497 community names, 180, 181, 186 community profiles, 180 Component class, 87 compressed form addressing, 193 ComputeHash method

HashAlgorithm class, 446 MD5CryptoServiceProvider class, 446, 450

confidentiality, cryptography and, 434 ConfigurationSettings class, 312 ConfigurePicturesDialog class, 325, 327 ConfigureShowDialog class, 325 Connect method

FtpClient custom class, 237 Socket class, 126, 133 TcpClient class, 60, 219, 270, 416, 423 UdpClient class, 269, 271, 272

Connect property WebPermissionAttribute class, 115

Connect value NetworkAccess enumeration, 113, 158

ConnectCallBack method, 146, 148 Connected property

Socket class, 125, 137 Connection header (HTTP), 348, 360 connection headers, 351 connection management, 361

changing default number of connections and, 362

System. Net classes for, 87 connection -oriented/ connectionless

communications,296 TCP protocol and, 213 transport layer and, 15 UDP protocol and, 263, 266

connection pooling, 88, 109 ConnectionGroupName property

Web Request class, 104, 109 connectionless sockets, 123 ConnectionLimitproperty

ServicePoint class, 362 ConnectList property

WebPermission class, 113 ConnectNNTP method

NNTP custom class, 423 ConnectPattern property

WebPermissionAttribute class, 115 ConnectPOP method

POP3 custom class, 415 Connection property

HttpWebRequest class, 354 Content-description header (MIME), 403 Content-disposition header (MIME), 403 Content-ID header (MIME), 403

Page 5: Index YMBOLS - Springer978-1-4302-0660-6/1.pdfasynchronous I/0 operations, 46 FileStream class and, 55 asynchronous IP address resolution, 100 asynchronous programming, 140-154 clients

Content-transfer encoding header (MIME),403

Content-Type header (HTTP), 348 Content-type header (MIME), 403 ContentEncoding property

HttpWebResponse class, 354 ContentLength property

HttpWebRequest class, 354, 358 HttpWebResponse class, 354 WebRequest class, 103 WebResponse class, 104

ContentType property HttpWebRequest class, 354 HttpWebResponse class, 354 WebRequest class, 103 WebResponse class, 104

control bits, 214 controls

for chat application, 310 ConfigurePicturesDialog class and, 327 for e-mail client, 226 MulticastConfigurationDialog class

and,328 for picture show client, 335 for picture show server, 325

Cookie class, 88, 372 CookieCollection class, 88, 371

maintaining state and, 374 CookieContainer class, 88, 372 CookieContainer property

HttpWebRequest class, 373, 375 cookies, 371

maintaining state via, 37 4 reading/writing, 371-374 System. Net classes for, 88

Cookies property HttpWebResponse class, 88, 373

Copy method CodeAccessPermission class, 495

country domains, 36 Create method

FtpRequestCreator custom class, 231 HashAlgorithm class, 446 IWebRequestCreate interface, 231 WebRequest class, 353, 102-108

CreateApplicationHost method ApplicationHost class, 385

CreateDataSocket method FtpClient custom class, 240

CreateDecryptor method DESCryptoServiceProvider class, 457 RijndaelManaged class, 4 71 SymmetricAlgorithm class, 63, 454

CreateEncryptor method DESCryptoServiceProvider class, 455 RijndaelManaged class, 4 70 SymmetricAlgorithm class, 62, 454

CreateFromCertFile method X509Certificate class, 467

CreateFromSignedFile method X509Certificate class, 467

Createlnstance method Activator class, 257, 260

creating applications

INDEX 505

asynchronous client/server, 141-154 chat (sample), 281-285,309-317 currency converter (sample), 355-357 e-mail client, 223-229 file transfer, 285-292 IPv6-based client/server, 203-207 multithreaded client/server, 247-252 NNTP newsgroup, 422-429 picture show (sample), 317-343 POP3 mail, 414-421 remoting,255-261 SMTP mail, 412 socket-based

client/ server, 124, 126-134 SSPI, 492 WriteCookie (sample), 371-375

client-activated objects, 260 code groups, 116 HTTP servers with ASP. NET

support, 375-387 IPAddress objects, 96 permission sets, 116 port scanners, 135 raw sockets, 165 receivers for multicast messages, 209 senders for multicast messages, 208 sockets, 145 strongly named assemblies, 116 URI objects, 91

CredentialCache class, 86, 112, 368-370 credentials, 484 Credentials Management, 488 Credentials property

HttpWebRequest class, 369 WebClient class, 369 WebProxy class, 110 WebRequest class, 104, 112

CRLF sequence (linefeed character), 225 cryptanalysis, 431 Crypto API (Microsoft), 444, 459 Cryptographic Service Providers (CSPs), 445,

459 CryptographicException class, 458 cryptography, 431-474

algorithms for, 434,435-441 asymmetric transformation and, 459-466 classes for, 444 encryption/ decryption and, 432 history of, 431

Page 6: Index YMBOLS - Springer978-1-4302-0660-6/1.pdfasynchronous I/0 operations, 46 FileStream class and, 55 asynchronous IP address resolution, 100 asynchronous programming, 140-154 clients

506 lrW EX

cryptography (continued) impersonation and, preventing, 440 network programming and, 468-4 7 4 reasons for using, 434 symmetric transformation and, 453-458 tampering and, detecting, 440 terminology of, 441

cryptography algorithms, 434, 435-441 cryptography keys, 435

sizes and, 436 cryptology, 431 CryptoServiceProvider suffix, 444 CryptoStream class, 47,61

chat application and,470 CSMA/CD networks, 4 CSocket class, 218 CspParameters class

chat application and, 4 73 reusing previously created/ saved keys

and,463 CspProviderFlags enumeration, 460 CspProviders class, 459 CSPs (Cryptographic Service Providers),445,

459 CTS mode, 443 currency converter sample

application, 355-357 CurrencyDecimalSeparator property

NumberFormatlnfo class, 357 CurrentThread property

Thread class, 146

D DASL (DAV Searching and Locating), 350 DATA command (SMTP), 225, 228, 397 Data Encryption Standard (DES), 476, 479 data link layer (OSI model), 12, 13 data types, manipulating in streams, 64-7 4 DataAvailable property

NetworkStream class, 59 datagram sockets, 35, 123 datagrams, 213,468

UDP protocol and, 264 Date header

e-mail,400 HTTP, 348

DAV (Distributed Authoring and Versioning), 350

DAV Searching and Locating (DASL), 350 day/time servers, 123 DCOM (Distributed Component Object

Model),41 UDP protocol and, 292

decimal point(.), converting to comma, 357 declarative security, 155, 159-161 Decrypt method

RSACryptoServiceProvider class, 462, 465,474

decryption, 432 DecryptMessage function (SSP I), 491 default gateway, 9 default web proxy, 111

setting, 109 default.xml file, 376, 379 DefaultCredentials method

CredentialCache class, 112 DefaultCredentials property

CredentialCache class, 368, 369 DELE command (POP3), 407,418 delegates

AsyncCallback,55,101,141,145 Methodlnvoke~314,334 ThreadStart, 248, 284

DELETE method (HTTP), 349 DeleteMessage method

POP3 custom class, 418 DeleteSecurityContext function, 491 Demand method

CodeAccessPermission class, 495 PrincipalPermission class, 498

Demand value SecurityAction enumeration, 115

denial-of-service attacks (DoS attacks), Kerberos authentication and, 486

Deny method CodeAccessPermission class, 495-497 SocketPermission class, 157

DES (Data Encryption Standard), 476,479 DES algorithm, 436, 454

key size and, 458 descriptors, 121 DESCryptoServiceProvider class, 455, 457 Deserialize method

BinaryFormatter class, 78 Soap Formatter class, 78 XmlSerializer class, 77, 289

Destination unreachable message, 26 Destination Unreachable packets

(ICMP), 165 DHCP protocol, 99

dynamic multicast addresses and, 302 Diffie-Hellman key exchange, 438 Digital Signature Algorithm (DSA), 438,459 Digital Signature Standard (DSS), 438 digital signatures, 440 DirectoryServicesPermission class, 494 DiscardBufferedData method

StreamReader class, 73 disconnected e-mail handling, 404, 407 DisconnectNNTP method

NNTP custom class, 424 DisconnectPOP method

POP3 custom class, 416 dispatchers, 41

Page 7: Index YMBOLS - Springer978-1-4302-0660-6/1.pdfasynchronous I/0 operations, 46 FileStream class and, 55 asynchronous IP address resolution, 100 asynchronous programming, 140-154 clients

Display Picture method PictureClientForm class, 335, 340, 341

DisplayReceivedMessage method, 314 Distance Vector Multicast Routing Protocol

(DVMRP protocol), 305 distance vector routing protocols, 9 Distributed Authoring and Versioning

(DAV), 350 Distributed Component Object Model

(DCOM),41 UDP protocol and, 292

DNS (Domain Name System), 293 Dns class, 85,97-102

multicast configuring and, 329 DNS servers, 36 DnsLookupCompleted method, 101 DnsPermission class, 85, 113, 494 DnsPerrnissionAttribute class, 85 domain authentication, 4 79 Domain Name Servers (DNS servers), 36 Domain Name System (DNS), 293 domain names, 35

country-specific domains and, 36 registration queries for, 36 resolving, 97-102

domains, 487 DoS attacks, Kerberos authentication

and,486 DownloadData method

WebClient class, 363 DownloadFile method

FtpClient custom class, 239 WebClient class, 363

downloads High Encryption Pack (Microsoft), 444 sample code for this book, 309 TCPTrace.exe network-sniffing utility, 433

Drop Membership value SocketOptionName enumeration, 309

DropMulticastGroup method UdpClient class, 270,278,280,308,316

DSA algorithm, 438, 459 DSS (Digital Signature Standard), 438 DVMRP protocol, 305 dynamic DNS, 99 Dynamic Host Configuration Protocol

(DHCP protocol), 99 dynamic multicast addresses and, 302

dynamic keys, 480 dynamic multicast addresses, 302 dynamic port numbers, 22

E EasyMail.NET, 409 ECB mode, 443 Echo clients, 248 Echo/Echo Reply messages, 26

Echo Reply packet (ICMP), 165 Echo Request packet (ICMP), 165

ping packets and, 171 Echo servers, 250

INDEX 507

Electronic Code Book mode (ECB mode), 443 Elliptic Curve Cryptosystems, 438 e-mail/e-mail messages

deleting, in POP3 sample application, 418 headers in, viewing in Outlook, 401 howe-mail works, 393-395 Internet and, 394 .NET support for, 409-412 retrieving, 404-409

models of, 404 POP3 sample application

illustrating, 414-421 sending, 395-398,412 structure of, 399-404 writing, in POP3 sample application, 418

e-mail attachments 402-404 adding to messages, 411

e-mail protocols, 32, 393-430 IMAP, 407 NNTP, 422-429 POP3, 405-407, 414 SMTP, 395, 409, 412

sending e-mail and, 395-398,412 e-mail sample client application, 223-229

interface for, 226 Enabled property

LingerOption class, 139 encapsulation, 213 Encoding class, 65, 358, 381 Encoding property

MailAttachment class, 411 Stream Writer class, 7 4

Encrypt method RSACryptoServiceProvider class, 461, 465,

473 limitation ofRSA algorithm and, 466

encryption, 432. See also entries at cryptography

LAN Manager and, 478 passwords and, 477, 479

encryption keys, 480 EncryptMessage function (SSPI), 491 EndAccept method

Socket class, 153 End Connect method

Socket class, 145 EndGetHostByName method

Dns class, 100 EndGetRequestStream method

WebRequest class, 103 EndGetResponse method

WebRequest class, 103

Page 8: Index YMBOLS - Springer978-1-4302-0660-6/1.pdfasynchronous I/0 operations, 46 FileStream class and, 55 asynchronous IP address resolution, 100 asynchronous programming, 140-154 clients

508 INDEX

endpoints, 14, 21, 35, 123 for TCP socket clients, 133 for TCP socket servers, 128

EndRead method FileStream class, 56 Stream class, 49

EndReceive method Socket class, 147, 153

EndSend method Socket class, 147, 154

EndWrite method Stream class, 49

EnumerateSecurity function (SSPI), 489 EnvironmentPermission class, 494 Equals method

UdpClient class, 270 -ERR message (POP3 server), 416 error codes, list of, 137 error handling. See exceptions error messages, ICMP Redirect message

and,25,26 ErrorCode property

GetLastError method and, 137 SocketException class, 136

Ethernet protocol, 3 EventLogPermission class, 494 events, asynchronous programming and, 140 exceptions

ArgumentNullException class, 272 cleaning up connections and, 137 CryptographicException class, 458 InvalidOperation class, 221 NNTPException class, 427 POPException class, 420 POPMailException class, 420 RemotingException class, 261 SecurityException class, 113,497,498 SocketException class, 125, 221, 313

closing connections and, 278 managing exceptions via, 135-137 specifying port numbers and, 271

UnauthorizedAccessException class, 238 WebException class, 239

Expect property HttpWebRequest class, 354

Expires header (HTTP), 348 Expires property

Cookie class, 372 EXPN command (SMTP), 397 extranets, 38

IF file handle, 53 file receiver (file transfer sample application),

coding, 288-291 file server (file transfer sample application),

coding,285-288

File Transfer Protocol. See FTP protocol file transfer sample application, 285-292

limitations of, 291 FileAccess enumeration, 51 FileDetails custom class, 285, 288 FileDialogPerrnission class, 494 FileiOPermission class, 494, 496, 497 FileiOPermissionAccess enumeration, 496 FileMode enumeration, 51,53 Filename property

MailAttachment class, 411 FileRecv custom class, 288 files

DownloadFile method for, 363 file transfer application and, 285-292 UploadFile method for, 366

FileSender custom class, 285 FileShare enumeration, 52 FileStream class, 46,50-57,286,287

Close method, 286 creating FileStream instances and, 50-53 reading/writing with, 53-57

FileWebRequest class, 87, 103, 106-108 FileWebResponse class, 87, 106-108 FIN control bit (TCPIIP), 215 Finalize method

UdpClient class, 270 fmally block, Shutdown/ Close methods

and, 137 FindServicePoint method

ServicePointManager class, 361 PIPS 113 standard, 476 firewalls, 38 Flags property

CspParameters class, 464 flow control, 217 Flush method

BinaryWriter class, 69 Stream class, 50 TextWriter class, 73

Form class, 314 format prefix (FP), 194 formatter object serialization, 78-82

rules about using, 79 formatter sinks, 254 formatters, 41 FormsAuthentication class, 439 forwardable tickets, 485, 487 FP (format prefix), 194 Fragment property

Uri class, 93 fragments (in datagrams), 264,266 fragments (in URis), 90 From header

e-mail, 400 HTTP, 347

Page 9: Index YMBOLS - Springer978-1-4302-0660-6/1.pdfasynchronous I/0 operations, 46 FileStream class and, 55 asynchronous IP address resolution, 100 asynchronous programming, 140-154 clients

From property MailMessage class, 410

FromXml method CodeAccessPermission class, 495

FromXmlString method AsymmetricAlgorithm class, 459 RSACryptoServiceProvider class, 465

FTP clients, 29 classes for, 231 creating, 229-245 testing, 243

ftp command-line utility, 29 FTP protocol, 27, 229

active/passive modes and, 230 commands for, 230 security and, 238 vs. SMTP protocol, 229 WebClient class and, 362

FTP response codes, 230 FTP servers, accessing, 29 FTP service commands, 28 FtpClient custom class, 231, 237-242 FtpRequestCreator custom class, 231 FtpWebRequest custom

class, 105,229,231-234 UploadDemo/DownloadDemo methods

and,243 FtpWebResponse custom class, 229,231,233 FtpWebStream custom class, 231, 235

G gateways, default, 9 GenerateN method

DESCryptoServiceProvider class, 455 SymmetricAlgorithm class, 454

GenerateKey method SymmetricAlgorithm class, 454

GET method (HTTP), 349 UploadData method and, 365 UploadValues method and, 367

GetByteCount method Encoding class, 65

GetBytes method ASCIIEncoding class, 54, 358, 448, 450 Encoding class, 65 UnicodeEncoding class, 63, 313, 315, 334 UTF8Encoding class, 461

GetChannel method ChannelServices class, 261

GetCharCount method Encoding class, 65

GetChars method Encoding class, 65

GetCurrentThreadiD method AppDomain class, 153

GetDecoder method Encoding class, 65

GetEmptyWebProxy method GlobalProxySelection class, 370

GetEncoder method Encoding class, 65

GetFileDetails method FileRecv custom class, 289

GetHashCode method UdpClient class, 270

GetHostByAddress method Dns class, 99

GetHostByName method Dns class, 99,329

GetHostinglnfo method APressServer class, 378

GetHostName method Dns class, 99, 329

GetLastError method ErrorCode property and, 137

GetMime'IYPe method APressServer class, 380

GetMulticastConfiguration method PictureClientForm class, 335, 337

GetNews method NNTP custom class, 425

GetNewsGroupListing method NNTP custom class, 424

GetNextRequest PDU, 180, 182 GetObject method

Activator class, 258, 390 GetPicture method

PicturePackager class, 319, 323 GetPicturePackages method

PicturePackager class, 319, 322 GetReadStream method

FtpClient custom class, 239 GetRequest PDU, 180, 182 GetRequestStream method

FileWebRequest class, 108 HttpWebRequest class, 358 WebRequest class, 103

GetResponse method FileWebRequest class, 107 FtpClient custom class, 238 FtpWebRequest custom class, 232 HttpWebRequest class, 353, 373 Web Request class, 102 WebResponse class, 104

GetResponse PDU, 180, 182 GetResponseStream method

File Web Response class, 107 FtpWebResponse custom class, 233 HttpWebResponse class, 353 WebResponse class, 102, 104

GetSNMP method SNMP custom class, 182, 183

GetSocketOption method Socket class, 126, 137, 139

INDEX 509

Page 10: Index YMBOLS - Springer978-1-4302-0660-6/1.pdfasynchronous I/0 operations, 46 FileStream class and, 55 asynchronous IP address resolution, 100 asynchronous programming, 140-154 clients

510 INDEX

GetStream method TcpClient class, 59, 60, 219, 221

GetString method ASCIIEncoding class, 54,367,448,450 UnicodeEncoding class, 63, 337

GetTheDefaultFileName method APressServer class, 379

GetType method UdpClient class, 270

GetUriComponents method FtpWebResponse custom class, 234

GetWriteStream method FtpClient custom class, 239

GetXml method PicturePackage class, 319,321

Ggp protocol type value, 166 GINA authentication, 487 global addresses, 194 GlobalProxySelection class, 89, ll1, 370 Graphical Identification and Authentication

(GINA authentication), 487 GROUP command (NNTP), 422, 425 Group property

IPv6MulticastOption class, 207, 209 group-specific queries, 300 .. H-Node node type, 100 Handle property

FileStream class, 53 handles, 121 handshaking,24,215 hardware components for LANs, 5-ll hash functions, 439 Hash property

HashAlgorithm class, 446 HMACSHA1 class, 452

HashAlgorithm class, 444, 446-453 hashing, 445-453 hashing algorithms, 436, 439

authentication and, 448 vs. HMAC algorithms, 451 .NET and, 445 tampering detection and, 440

hashing passwords, 478 HashPasswordForStoringinConfigFile

method FormsAuthentication class, 439

HashSize property HashAlgorithm class, 446

HEAD method (HTTP), 349 headers

e-mail,400 HTTP, 347-349 IP, 17,25 MIME,403 TCP, 23 UDP,24

Headers property HttpWebResponse class, 353 MailMessage class, 410 Web Request class, 103 WebResponse class, 104

HELLO command (SMTP), 397 HELO command (SMTP), 224 HELP command (SMTP), 397 High Encryption Pack (Microsoft), 444 HMAC algorithms, 439, 451 HMACSHA-1 algorithm, 439,451

vs. MACTripleDES algorithm, 452 HMACSHA1 class, 452 hop counts, 9 host byte order, 96 Host class, 377,385 host names, resolving via DNS servers, 36 Host property

SocketPermissionAttribute class, 115 Uri class, 92

hostlnfo.xml file, 376-378 HostName property

IPHostEntry class, 98 HostNameType property

Uri class, 93 HOSTS file, 99 HostToNetworkOrder method

IPAddress class, 97 HTTP channels, registering, 388 HTTP clients, 345 HTTP connections, System.Net classes for, 87 HTTP headers, 347, 351

setting/reading, 353 HTTP methods, 349 HTTP over Secure Sockets Layer (HTTPS

protocol), 32 WebClient class and, 362

HTTP programming, 345-391 .NET classes for, 352-371

HTTP protocol, 30,345-351 1.0/l.l versions of, 87,346,351

maximum simultaneous connections in 1.1,362

pipelining in 1.1, 359 commands for, 31 .NET Remoting and, 253 remoting sample application and, 387-391 WebClient class and, 362

HTTP requests, 348 posting data and, 357

HTTP responses, 351 HTTP servers, 345

with ASP.NET support, 375-387 testing the server, 386 XML configuration files for, 376

HTTP status codes, 351 HTTP transport channels, 253 HTTP version numbers, 351

Page 11: Index YMBOLS - Springer978-1-4302-0660-6/1.pdfasynchronous I/0 operations, 46 FileStream class and, 55 asynchronous IP address resolution, 100 asynchronous programming, 140-154 clients

HttpChannel class, 387 HttpRuntime class, 385 HTTPS protocol, 32

WebClient class and, 362 Http Version class, 87 HttpWebRequest class, 87,352-357

cookies and, 371 HttpWebResponse class, 87,352-357

cookies and, 371 Http Worker Request class, 385 hubs, 6 hybrid routing protocols, 9 Hypertext Transfer Protocol. See HTTP

protocol

I/0 performance, buffers and, 57 lAB (Internet Architecture Board), 43

MIB object identifiers and, 181 lANA (Internet Assigned Numbers

Authority), 19,43 multicast address assignments and, 301 well-known port numbers and, 124, 265

IAsyncResult interface, 146 IsCompleted property, 101

IAuthenticationModule interface, 86, 498 I Channel interface, 257 ICMP custom class, 168-176

constructor for, 168 vs. SNMP custom class, 182 tracing utility, creating via, 176--179

ICMP headers, 176 ICMP packets, 164

data variables for, 168 formatting, 168-176 sending/receiving, 167

ICMP protocol, 25, 163-179 Icmp protocol type value, 166 I Credentials interface, 86, 112, 368 ICryptoTransform interface, 61, 470 IDEA algorithm, 437 identity permissions, classes for, 497 IdleSince property

ServicePoint class, 361 Idp protocol type value, 166 IEEE (Institute of Electrical and Electronics

Engineers), 43 IETF (Internet Engineering Task

Force),43, 189,395 multicasting security and, 307

IfModifiedSince property HttpWebRequest class, 354

IGMP protocol, 27 message headers for (table), 300 multicast messages and, 297, 299-301 versions of, 299

Igmp protocol type value, 166

IGMPv2,299 IGMPv3,299

IINDEX 511

IGRP (Interior Gateway Routing Protocol), 9 liS (Internet Information Server)

ASP.NET hosting framework support for, 385

SMTP protocol and, 409 SMTP service and, installing, 412

IMAP models, 404 IMAP protocol, 33, 395

retrieving e-mail and, 407 IMC (Internet Mail Consortium), 395 imperative security, 155-158 impersonation, 499

preventing via digital signatures, 440 Infinite field

Timeout class, 362 InfoServer class, 325, 330 InitSecuritylnterface function (SSPI), 489,

491 InputBlockSize property

HashAlgorithm class, 446 Institute of Electrical and Electronics

Engineers (IEEE), 43 integrity, cryptography and, 434 interceptors, 42 Interfacelndex property

IPv6MulticastOption class, 207,209 Interior Gateway Routing Protocol (IGRP), 9 International Organization for

Standardization (ISO), 11, 43, 181 Internet, 37

e-mail and, 394, 395 Internet Architecture Board (lAB), 43

MIB object identifiers and, 181 Internet Assigned Numbers Authority. See

lANA Internet backbone, 2 Internet Control Message Protocol (ICMP

protocol), 25, 163-179 Internet Engineering Task Force

(IETF), 43, 189, 395 multicasting security and, 307

Internet Explorer FTP client, 30 Internet Group Management Protocol. See

IGMP protocol Internet Information Server (liS)

ASP.NET hosting framework support for, 385

SMTP protocol and, 409 SMTP service and, installing, 412

Internet Mail Consortium (IMC), 395 Internet Message Access Protocol (IMAP

protocol), 33,395 Internet Protocol. See IP protocol Internet protocols, 27-32

Page 12: Index YMBOLS - Springer978-1-4302-0660-6/1.pdfasynchronous I/0 operations, 46 FileStream class and, 55 asynchronous IP address resolution, 100 asynchronous programming, 140-154 clients

512 INDEX

Internet Security and Acceleration Server (ISA), 39

Internetwork Control Block, 302 InterNIC whois service, 36 Intersect method

CodeAccessPermission class, 495 IntPtr structUJe, 53 intranets, 38 InvalidOperation class, 221 Invoke method

Form class, 314 IOControl method

Socket class, 126 IP addresses, 17, 95-97

broadcast addresses and, 296 Class D, 297, 298 predefined, 96 private, 22 resolving, 97-102

via arp utility, 13 sockets and, 123 System.Net classes for, 86 UdpClient class and, 269-276

IP datagrams, 213, 264 IP encapsulation, 266 IP headers, 17, 25 IP protocol, 17-21, 189

ICMP protocol and, 163 new version IPv6 and, 21

IP protocol type value, 166 IPAddress class, 86, 95-97,273

Any field and, 246 IPv6, support for, 198-203 public read-only fields for, 96

ipconfig utility, 6, 100 DNS servers, displaying with, 36 IPv6 configuration, verifying with, 197

IPEndPoint class, 129, 271, 284, 307 raw sockets and, 167

IPHostEntry class, 86, 97 IPv4 protocol, 21

enabling in app.config file, 198 IPv6 protocol and, 189

comparative table of, 191 IPv6 addressing, 192 IPv6 header, 191 IPv6 protocol, 21, 189-211

installing on Windows Server 2003,195-197

vs. IPv4 protocol (comparative table), 191 mixed form addressing and, 193 .NET support for, 197-211 verifying configuration for, 197

IPv6Any field IPAddress class, 96, 202, 204

IPv6Loopback field IPAddress class, 96, 202

IPv6MulticastOption class, 207-211 IPv6None field

IPAddress class, 96, 202 IrDA protocol, 125 ISA (Internet Security and Acceleration

Server), 39 IsBackground property

Thread class, 313 IsCompleted property

IAsyncResult interface, 101 IsDefaultPort property

Uri class, 93 IsFile property

Uri class, 93 IsLoopback method

IPAddress class, 202 IsLoopback property

Uri class, 93 ISO (International Organization for

Standardization), 11, 43, 181 iso root object, SNMP protocol and, 181 IsolatedStorageFilePermission class, 495 IsolatedStoragePermission class, 495 IsSubsetOf method

CodeAccessPermission class, 495 IsUnc property

Uri class, 93 Nproperty

RijndaelManaged class, 470 SymmetricAlgorithm class, 453

IWebProxy interface, 111 IWebRequestCreate interface, 105,231

J JoinMulticastGroup method

UdpClient class, 270, 278, 308, 313, 339

II( KASs (Kerberos authentication servers), 483,

485 KDCs (key distribution centers), 480

Kerberos authentication and, 484 preauthentication and, 485 Windows 2000 and, 486

keep-alive connections, 360 KeepAlive property

HttpWebRequest class, 360 Kerberos authentication, 368, 480-487

how it works, 483 LAN Manager and, 478 versions 4/5 and, 483 Windows 2000 and, 486

Kerberos Authentication Server Request messages (KRB_AS_REQ messages), 483

Kerberos authentication servers (KASs), 483, 485

Page 13: Index YMBOLS - Springer978-1-4302-0660-6/1.pdfasynchronous I/0 operations, 46 FileStream class and, 55 asynchronous IP address resolution, 100 asynchronous programming, 140-154 clients

Kerberos Ticket-Granting Server Request messages (KRB_TGS_REQ messages), 484

key-based authentication, 480 key distribution centers (KDCs), 480

Kerberos authentication and, 484 preauthentication and, 485 Windows 2000 and, 486

Key property DESCryptoServiceProvider class, 455 RijndaelManaged class, 4 70 SymmetricAlgorithm class, 453

key sizes for major algorithms (table), 458 resourcesforfilrtherreading,436

KeyContainerName property CspParameters class, 464

keyed hash algorithms, 439,451 KeyExchangeAlgorithm property

AsymmetricAlgorithm class, 459 keys

cryptography, 435, 436 private, 437,463-466 reusing previously created/ saved, 463 public, 463-466

KeySize property AsymmetricAlgorithm class, 459 SymmetricAlgorithm class, 453

KeySizes class, 458 keystreams, 441 KRB_AS_REQ messages, 483 KRB_TGS_REQ messages, 484

l LAN Manager (LANMAN), 476

encryption and, 478 Windows 2000 and, 486

LANs (local area networks), 2 LAST command (NNTP), 422 LastModified property

HttpWebResponse class, 354 LDAP protocol, 43 leased lines, connecting to WANs via, 2 leave group messages, 301 LegalBlockSizes property

SymmetricAlgorithm class, 454 LegalKeySizes property

AsymmetricAlgorithm class, 459 SymmetricAlgorithm class, 453, 458

Length property FileStream class, 54, 63 Stream class, 48

Lightweight Directory Access Protocol (LDAP),43

linefeed character (CRLF sequence), 225 LingerOption class, 139

LingerState property TcpClient class, 218

LingerTime property LingerOption class, 139

link-local addresses, 194 link state routing protocols, 9 links, 2 LIST command

NNTP, 422, 424 POP3, 407, 416, 417

Listen method Socket class, 126, 130, 246

Listener method

lrW EX 513

PictureClientForm class, 335, 339, 340 ListMessages method

POP3 custom class, 416 little endian byte order, 96 LM (LAN Manager), 476 LMHOSTS file, 100 LoadXml method

XmlDocument class, 462 Local Area Connection Properties dialog box,

installing/uninstalling 1Pv6 via, 196 local area networks (LANs), 2 local authentication, 479,485 Local Network Control Block, 302 Local Security Authority (LSA

authentication), 488 LocalEndPoint property

Socket class, 125 TcpListener class, 245

LocalPath property Uri class, 93

Location header (HTTP), 348 logfile command (HTTP), 30 Logoff method

FtpClient custom class, 242 Logon method

FtpClient custom class, 238 Loop back field

IPAddress class, 96 loopbacks, 19 LSA authentication, 488

M M-Node node type, 100 MAC address, 4, 5

data link layer and, 13 MAC algorithms. See hashing algorithms machine.config file

connection pooling and, 109 1Pv6, enabling in, 198 Web Request class and, 105

MACTripleDES algorithm, 439, 451 vs. HMACSHA-1 algorithm, 452

MADCAP protocol, dynamic multicast addresses and, 302

Page 14: Index YMBOLS - Springer978-1-4302-0660-6/1.pdfasynchronous I/0 operations, 46 FileStream class and, 55 asynchronous IP address resolution, 100 asynchronous programming, 140-154 clients

514 INDEX

MAIL command (SMTP), 224, 227, 397 MailAttachment class, 409,411 MailEncoding enumeration, 409 MailFormat enumeration, 409 MailMessage class, 409

adding mail attachments and, 411 MailPriority enumeration, 409 Main method

APressServer class, 385 client console application and, 243 file transfer application and, 286, 289 NNTP class and, 428 POP3 class and, 420

MakeRelative method Uri class, 94

MakeSignature function (SSPI), 491 Managed suffix, 444 Management Information Base (MIB

database), 34, 179, 181 manipulating data types in streams, 64-7 4 MANs (metropolitan area networks), 2 ManualResetEvent class, 140-147, 153, 154 many-to-many applications, multicasting

and, 297 MarshalByRefObject class

remoting and, 256 remoting classes and, 388

Ma.x:IdleTime property ServicePoint class, 361

maximum transmission unit (MTU), 264 Ma.x:Port field

IPEndPoint class, 271 Ma.x:ServicePointidleTime property

ServicePointManager class, 361 Ma.x:Size property

KeySizes class, 458 MBone (Multicast Backbone), 303 MD algorithms, 439

using for authentication, 448 MD4 (Message Digest #4), 4 79 MD5CryptoServiceProvider class, 446, 450 media access control address (MAC

address), 4, 5 data link layer and, 13

membership queries, 299,300 membership reports, 301 MemberwiseClone method

UdpClient class, 270 MemoryStream class, 47, 57,287

chat application and, 4 70 Message Digest #4 (MD4), 4 79 message digest algorithms. See hashing

algorithms Message element (ICMP), 164 Message property

SocketE.xception class, 135, 139,313 message queuing, 42

Message Transfer Agent (MTA), 393 MessageQueuePermission class, 495 messages, 2, 42 messaging, 42 Method property

FileWebRequest class, 108 WebRequest class, 103

Methodlnvoker delegate, 314, 334 metropolitan area network (MANs), 2 MIB database, 34, 179, 181 MIB object identifiers, 181 Microsoft. See also entries at Wmdows

CAPICOM, 444 Crypto API, 444, 459 Distributed Component Object Model, 41 Internet Explorer FTP client, 30 Internet Security and Acceleration Server

(ISA), 39 IPv6 protocol and, 189 Registry, 4 77, 495 Windows NT LAN Manager

authentication (NTLM authentication), 476-480

versions of, 4 77 Outlook, viewing e-mail headers in, 401

Microsoft Certificate Server, certifying authorities and, 466

MIME e-mail attachments, 402-404 MIME-Version header, 403 mime.xml file, 376, 380 MinPort field

IPEndPoint class, 271 MinSize property

KeySizes class, 458 mixed form addressing, 193 Mode property

SymmetricAlgorithm class, 454 modes (of ciphers), 443 MOSPF (Multicast Open Shortest Path First

Protocol), 305 MSGina.dll, 487 MTA (Message Transfer Agent), 393 MTU (maximum transmission unit), 264 Multi-purpose Internet Mail Extensions

(MIME), 402-404 Multicast Address Dynamic Client Allocation

Protocol (MADCAP protocol), dynamic multicast addresses and, 302

multicast addresses, 194,296 allocating, 301-303 validating, in picture show

application, 329 Multicast Backbone (MBone), 303 multicast groups

joining, 278, 308 leaving, 278, 308

Page 15: Index YMBOLS - Springer978-1-4302-0660-6/1.pdfasynchronous I/0 operations, 46 FileStream class and, 55 asynchronous IP address resolution, 100 asynchronous programming, 140-154 clients

m~ticastmessages vs. broadcast and unicast messages, 24 IGMP protocol and, 27 receivers for, 308 senders for, 307

M~ticast Open Shortest Path First Protocol (MOSPF), 305

m~ticast sockets, 295-343 architecture of, 298-307 .NET support for, 307-309

M~ticastConfigurationDialog class, 325, 328 multicasting, 295

architecture of, 298-307 configuring, in picture show

application,328-332,336 IPv6M~ticast0ption class and, 207-211 reasons for using, 297 reliability and, 306 security and, 306 TCP IUDP protocols and, 266

M~ticastOption class, 124, 309 MulticastTimeToLive value

SocketOptionName enumeration, 308 multikit utility, 303 m~tiplexing, 217 multithreading, 248

multithreaded client/server application and, 247-252

N NACK messages, 306 name lookups, System.Net classes for, 85 namespaces

for .NET security, 493 remoting applications and, 256

NameValueCollection class, 367 ND protocol type value, 166 Needham-Schroeder protocol, 482 .NET Framework

asymmetric algorithms and, 459-466 asynchronous programming and, 140 client authentication and, 498 cryptography and, 431, 444 e-mail, support for, 409-412 hashing and, 445-453 HTTP programming and, 352-371 IPv6 protocol, support for, 197-211 m~ticast sockets, support for, 307-309 remoting and, 41 security for, 493-500

resource,494-498 role-based, 498

socket programming and, 124-140 streams in, 45-64 symmetric algorithms and, 453-458 System. Net namespace and, 85

INDEX 515

TCP protocol, support for, 218-252 UDP protocol, support for, 269-292

.NET Framework Configuration Tool, 116

.NET Remoting. See remoting NetBIOS host names, 99 NetBIOS node types, 100 netsh command, installing/uninstalling IPv6

via, 195 netstat utility, 22 network byte order, 96 network devices, SNMP protocol for

managing,179-186 Network File System protocol (NFS

protocol), 293 network interface cards (NIC cards), 4, 5 network layer (OSI model), 12, 14 Network Monitor sniffing tool, 433 Network News Transfer Protocol (NNTP

protocol), 33 commands for, 422 NNTP newsgroup sample application

and,422-429 network number assignments, lANA and, 19 network programming

cryptography and, 468-4 7 4 System.Net namespace and, 85

network protocols, 16-34 IPv6 protocol and, 189-211

Network Provider API, 488 network-sniffing tools, 433 Network Time Protocol (NTP protocol),

broadcast communication and, 296 NetworkAccess enumeration, 113, 158 NetworkCredential class, 86, 112, 368 networking, 1-44

LAN hardware for, 5-11 network protocols and, 16-34 OSI model and, 11-15 physical network and, 2-11 standards organizations and, 43

networks, 2 NetworkStream class, 47, 58-61, 124, 218

BufferedStream class and, 57 TcpClient class and, 59, 221

NetworkToHostOrder method IPAddress class, 97

NEWNEWS command (NNTP), 422 NEWSGROUPS command (NNTP), 422 newsgroups, in NNTP sample

application, 424-426. See also entries atNNTP

NEXT command (NNTP), 422 Next Generation Internet Protocol. See IPv6

protocol NFS protocol, 293 NIC cards, 4, 5

Page 16: Index YMBOLS - Springer978-1-4302-0660-6/1.pdfasynchronous I/0 operations, 46 FileStream class and, 55 asynchronous IP address resolution, 100 asynchronous programming, 140-154 clients

516 INDEX

NNTP custom class, 423-429 Main method and, 428

NNTP newsgroup sample application,422-429

NNTP protocol, 33 commands for, 422 NNTP newsgroup sample application

and, 422-429 NNTP response codes, 422 NNTPException class, 427 NoAccess permission, 496 NoDelay property

TcpClient class, 218 nodes, 2 non-repudiation, cryptography and, 434 non-signaled events, 140 nonces, 476 None field

IPAddress class, 96 nonpersistent connections, 346 NonSerializedAttribute class, 79 NOOP command

POP3,407 SMTP, 397

NotSupportedException class, streams and,48

nslookup utility, 37 NTLM authentication, 368,476-480

LAN Manager and, 478 versions of, 4 77 Wmdows 2000 and, 486

NTLM hash, 4 79 NTP protocol, broadcast communication

and,296

__ o object identifiers, 181 ObjectHandle class, 260 OFB mode, 443 offline e-mail handling, 404,407 +OK response (POP3 server), 416 OleDbPermission class, 495 OnClosing method, 316 OnConfigurePictures method

PictureServerForm class, 326 one-to-many applications, multicasting

and,298 OnFileOpen method

ConfigurePicturesDialog class, 327 Onlnit method

PictureServerForm class, 330 online e-mail handling, 404, 407 OnStart method

chat application buttons and, 313 PictureClientForm class, 335, 339 PictureServerForm class, 332

OnStop method, 316 PictureClientForm class, 335

On ValidateMulticastAddress method MulticastConfigurationDialog class, 329

open command (HTTP protocol), 30 Open Shortest Path First (OSPF protocol), 9

MOSPF protocol and, 305 Open System Interconnection (OSI

model), 11-15 TCP liP protocol stack and, 16

OpenOrCreate value FileMode enumeration, 53

OpenRead method WebClient class, 364

Open Write method WebClient class, 365

OPTIONS method (HTTP), 350 OSI model, 11-15

TCP /IP protocol stack and, 16 OSPF protocol, 9

MOSPF protocol and, 305 Outlook (Microsoft), viewing e-mail headers

in, 401 Output Feedback mode (OFB mode), 443 OutputBlockSize property

HashAlgorithm class, 446

• P-Node node type, 100 packet filters, 39 packet -switching networks, connecting to

WANsvia,3 packets

fragmentation and, 266 UDP datagrams and, 264

padding, 441 Padding property

SymmetricAlgorithm class, 454 PaddingMode enumeration, 442 Parse method

IPAddress class, 96, 202 PASS command

FTP, 230, 238 POP3,407

passive caching, 109 passive mode (FTP protocol), 230 passive open, 23 password tokens, 476 passwords, 476-480,485-488

security improvements in, 479 storage concerns and, 4 77

PASV command (FTP), 230, 240 path (part of URI), 90 Path property

UriBuilder class, 93 PathAndQuery property

Uri class, 93

Page 17: Index YMBOLS - Springer978-1-4302-0660-6/1.pdfasynchronous I/0 operations, 46 FileStream class and, 55 asynchronous IP address resolution, 100 asynchronous programming, 140-154 clients

PathDiscovery permission, 496 PDUs (Protocol Data Units), 180, 181 Peek method

TextReader class, 71 PeekChar method

BinaryReader class, 67, 69 Pending method

Tcplistener class, 246, 24 7 performance

connection management and, 361 multicasting, reliability and, 306 proxy web servers and, 109-111 subnets and, 8

PerformanceCounterPermission class, 495 period(.)

indicating end of transmission, 225 as thousands separator in currency, 357

permission sets, 116 permissions, 112-119

attributes for, 113 configuring, 116 .NET code access, 494-497 socket, 154-161 strong name assemblies and, 116

PermitOnly method CodeAccessPermission class, 495

permview utility, 114 persistent connections, 346, 360 physical layer (OSI model), 12 physical network, 2-11 picture show sample application, 317-343

client for, 335-341 configuring, 328-332 joining multicast groups and, 339 pictures for

configuring, 309 packaging, 318-324 sending, 332-334

serverfor,324-334 starting/running, 341

PictureClientForm class, 335, 337 PicturePackage class, 319-322 PicturePackager class, 319, 322 PictureServerForm class, 324-334

code for, 325 PIM protocol, 305 ping command, 26

using to verify 1Pv6 configuration, 197 ping utility, 163, 187 PingHost method

ICMP custom class, 171-176 Pipelined property

HttpWebRequest class, 360 pipelining, 359 PKCS7 standard, 442 PKI algorithms. See asymmetric algorithms

pluggable protocols, 103, 105 point-to-point communication, 24 Poll method

Socket class, 126 POP3 class, 414-421

creating, 415 Main method and, 420

POP3 mail sample application, 414-421 POP3 model, 404 POP3 protocol, 33, 395

commands for, 406 vs. IMAP protocol, 407 retrieving e-mail and, 405-407

e-mail sample client application and,223,229

telnet and, 406 POP3EmailMessage class, 414

expanding functionality of, 421 POPException class, 420 POPMailException class, 420 port numbers, 21

UdpClient class and, 269-276 Port property

SocketPermissionAttribute class, 115 Uri class, 93

port scanners, building, 135 ports

private, 21 sockets and, 123 TCP protocol and, 265 UDP protocol and, 264 well-known, 124,265

ports numbers, well-known, 124 list of, 265

Position property FileStream class, 63 Stream class, 48

POST command (NNTP), 422, 426 POST method (HTTP), 349, 357

Open Write method and, 365 UploadData method and, 365 UploadValues method and, 367

Post Office Protocol. See POP3 protocol PostMessage method

NNTP custom class, 426 PreAuthenticate method

IAuthenticationModule, 498 PreAuthenticate property

WebRequest class, 104 preauthentication,485,498 presentation layer (OSI model), 12, 15 PrincipalPermission class, 498 PrintingPermission class, 495 Priority property

MailMessage class, 410 private community name, 181

INDEX 517

Page 18: Index YMBOLS - Springer978-1-4302-0660-6/1.pdfasynchronous I/0 operations, 46 FileStream class and, 55 asynchronous IP address resolution, 100 asynchronous programming, 140-154 clients

518 lrW EX

private keys, 437 reusing previously created/ saved, 463 saving to I getting from XML files, 463-466

private port numbers, 22 ProcessRequest method

HttpRuntime class, 385 programming. See HTTP programming;

network programming; socket programming

protected properties, TcpClient class and,222

Protocol Data Units (PDUs), 180, 181 Protocol Independent Multicasting protocol

(PIM protocol), 305 protocol stack, 12,213

with IGMP, 299 protocols. See authentication protocols; e­

mail protocols; network protocols; routing protocols

ProtocolType enumeration, 129 Protocol Type property

Socket class, 125 ProtocolVersion property

Http:X:XX classes, 87 Provider Name property

CspParameters class, 464 proxiable tickets, 485 proxies, 41 Proxy property

HttpWebRequest class, 370 WebRequest class, 104, 111

proxy servers. See web proxy servers PSH control bit (TCP/IP), 215 public community name, 181 Public Key Cryptography Standard (PKCS7

standard), 442 public key encryption/public key

infrastructure. See asymmetric algorithms

public keys reusing previously created/ saved, 463 saving to I getting from XML files, 463-466

PublisherldentityPermission class, 497 PUT method (HTTP), 350

UploadFile method and, 367

0 queries, for group membership, 300 query (part of URI), 90 Query property

Uri class, 93 query strings, 90 QuerySecurityPackagelnfo function

(SSPI), 489 QUIT command

FTP, 230,242 NNTP, 422, 424

POP3, 407, 416 SMTP, 225, 228, 397

R Raw protocol type value, 165 raw socket programming, 163-179 raw sockets, 123, 165 RC algorithms, 437 RC2 algorithm, 458

key size and, 458 RCPT command (SMTP), 225, 228, 397 Read method

BinaryReader class, 67 BufferedStream class, 57 CryptoStream class, 63 FileStream class, 53, 54, 63, 287 MemoryStream class, 58, 287 NetworkStream class, 60, 221 Stream class, 49 TextReader class, 7l

Read permission, 496 Readable property

NetworkStream class, 59 ReadBlock method

TextReader class, 7l ReadByte method

FileStream class, 54 Stream class, 49

ReadDouble method Binary Reader class, 69

HeadLine method StreamReader class, 71, 227 TextReader class, 7l

ReadToEnd method StreamReader class, 72, 107,353 TextReader class, 7l

Real-Time Protocol (RIP protocol), 292 realms, 485, 487 Receive method

Socket class, 126, 130, 337 UdpClient class, 269, 277, 289, 314, 339

ReceiveBufferSize property TcpClient class, 218, 222

received headers (e-mail), 400 ReceiveFile method

FileRecv custom class, 290 ReceiveFrom method

Socket class, 185 Receiver method

UdpClient class, 284, 468 receivers for multicast messages, 308

in chat multicast application, 314 creating, 209 in picture show multicast application, 336

ReceiveTimeout property TcpClient class, 218

red side, firewalls and, 39

Page 19: Index YMBOLS - Springer978-1-4302-0660-6/1.pdfasynchronous I/0 operations, 46 FileStream class and, 55 asynchronous IP address resolution, 100 asynchronous programming, 140-154 clients

Redirect messages, 25 Referer header (HTTP), 34 7 Referer property

HttpWebRequest class, 354 referral tickets, 485, 487 ReflectionPermission class, 495 Register method

AuthenticationManager class, 498 RegisterActivatedClientType method

RemotingConfiguration class, 260 RegisterActivatedServiceType method

RemotingConfiguration class, 260 RegisterChannel method

ChannelServices class, 257,258 RegisteredChannels property

ChannelServices class, 257 Register Prefix method

WebRequest class, 243 RegisterWellKnownServiceType method

RemotingConfiguration class, 257, 389 Registry (Microsoft), 4 77, 495 Registry Permission class, 495 relative URis, 94 reliability, multicasting and, 306 reliable/unreliable communications,

transport layer and, 14 remote authentication, 479 Remote Procedure Calls (RPC protocol), 41 RemoteEndPoint property

Socket class, 125 remoting, 41,252-261

advantages of, 253 building applications and, 255-261 client/server application

illustrating, 387-391 how it works, 253

remoting sample application, 387-391 RemotingConfiguration class, 257,260,389 RemotingException class, 261 repeaters, 6 reply codes (SMTP), 398 Reply-To header (e-mail messages), 400 request and response classes

(System.Net), 352 request headers (HTTP), 347 RequestMinimum value

Security Action enumeration, 115 RequestOptional value

Security Action enumeration, 115 RequestRefuse value

Security Action enumeration, 115 requests, 102-109

System.Net classes for, 87 Requests for Comments. See RFCs RequestUri property

WebRequest class, 103 Reset method

ManualResetEvent class, 145

Resolve method Dns class, 97, 99, 129

resource security (.NET), 494-498 resources for further reading

cryptography keys, sizes of, 436 IPv4 protocol vs. IPv6 protocol, 191 multicast-enabled networks, 303 .NET Remoting, 42 NNTP,423 PKCS7 standard, 442 SSPI client/server code, 493 URis/URNs, 90 X400 protocol, 394

response headers (HTTP), 348,351 Response method

NNTP custom class, 427 POP3 custom class, 416,419

responses, 102-109 System.Net classes for, 87

Response Uri property WebResponse class, 104

RETR command FTP, 230, 239

using GET method instead of, 232 POP3,407,417

RetrieveMessage method POP3 custom class, 417

ReuseAddress option, 138 reverse lookup, 99 RevertAll method

CodeAccessPerrnission class, 495 RevertAssert method

CodeAccessPermission class, 495 RevertDeny method

CodeAccessPermission class, 495, 497 RevertPerrnitOnly method

CodeAccessPerrnission class, 495 RFCs (Requests for Comments), 18

Internet mail standards and, 395 RFC 768 for TCP, 263 RFC 792 for ICMP, 163 RFC 977 for NNTP, 422, 423 RFC 1090 for SMTP over X25, 395

INDEX 519

RFC 1155 for Management Information Base, 179, 181

RFC 1939 for POP3, 405 RFC 2045-2049 for MIME, 403 RFC 2060 for IMAP, 407 RFC 2365 for scope-relative multicast

addresses, 302 RFC 2518 for DAV, 350 RFC 2821 for SMTP, 395, 396 RFC 2822 for e-mail messages, structure

of, 399 RFC 2882 for MTAs, 401 RFC 3171 for IP multicast addresses, 301

Page 20: Index YMBOLS - Springer978-1-4302-0660-6/1.pdfasynchronous I/0 operations, 46 FileStream class and, 55 asynchronous IP address resolution, 100 asynchronous programming, 140-154 clients

520 INDEX

Rijndael algorithm, 437,458 chat sample application and, 469 key size and, 458

RijndaelManaged class, 4 70 CreateDecryptor method, 4 71

RIP (Routing Information Protocol), 9 role-based security (.NET), 498 ROUTE PRINT command, 10 router metrics, 9 routers, 8

multicasting and, 303 finding route and, 9

Routing Information Protocol (RIP), 9 routing protocols, 9, 305 RPC protocol, 41 RSA algorithm, 438, 459

chat application and, 4 73 limitation of, Encrypt method and, 466 using,460

RSA class, 460 RSACryptoServiceProvider class, 460 RSET command

POP3,407 SMTP, 397

RST control bit (TCPIIP), 215 RTP protocol, 292 Run Client method

ClientHandler custom class, 252

Ill& SAM database, 4 77

encrypting, 480 Samba project,477 SAML command (SMTP), 397 sample applications

chat, 309-317 cryptography and, 468-4 7 4 usingUDP, 281-285

currency converter, 355-357 e-mail client, 223-229 file transfer, 285-292 multithreaded client/server, 247-252 NNTP newsgroup, 422-429 picture show, 317-343 POP3 mail, 414-421 remoting, 387-391 SMTP mail,412 SSPI client/server, 492 Windows Forms, 106 WriteCookie, 371-375

Save method XmlDocument class, 462

scalability connection management and, 361 multicasting and, 306

Scheme property Uri class, 92

schemes, 90--92 scope-relative multicast addresses, 302 Scopeid property

IPAddress class, 203 scoping, 305 sdr utility, 303 SecBufferDesc/SecBuffer structures, 489 secret keys, 437 secure group key management, 307 Secure Sockets Layer (SSL), 32

cryptography and, 437 security

cryptography and, 431-4 7 4 CryptoStream class and, 61 firewalls and, 38 FTP protocol and, 238 HTTPS protocol and, 32 multicasting and, 306 .NET and, 493-500 network-sniffing tools and, 433 SAM database and, 477 socket permissions and, 154-161 UDP protocol and, 268

Security Accounts Manager (SAM database), 477

encrypting, 480 Security Support Provider Interface. See SSPI SecurityAction enumeration, ll5 SecurityException class, 113, 497, 498 Security Permission class, 495 Seek method

BinaryWriter class, 68 FileStream class, 53,54 Stream class, 49

SeekOrigin enumeration, 49 segments, 213

data transfer operation and, 216 Segments property

Uri class, 93 Select method

Socket class, 126 Select property

GlobalProxySelection class, ll1, 370 SEND command (SMTP), 397 Send method

SmtpMail class, 412 Socket class, 126, 130, 381 UdpClient class, 269, 274, 287, 313, 316

SendBufferSize property TcpClient class, 218

SendChunked property HttpWebRequest class, 359

Send Command method FtpClient custom class, 242

Sender header (e-mail messages), 400

Page 21: Index YMBOLS - Springer978-1-4302-0660-6/1.pdfasynchronous I/0 operations, 46 FileStream class and, 55 asynchronous IP address resolution, 100 asynchronous programming, 140-154 clients

senders for multicast messages, 307 creating, 208 in chat multicast application, 315

SendFile method FileSender custom class, 287

SendFilelnfo method FileSender custom class, 287

SendPicture method PictureServerForm class, 333, 334

SendPictures method PictureServerForm class, 333

SendTimeout property TcpClient class, 218

SendToBrowser method APressServer class, 381

sequence numbers, 213, 214, 216 sequences, SNMP packets and, 181 SerializableAttribute class, 78

FileDetails custom class, 289 serialization, 75-82

formatter objects and, 78-82 reasons for using, 75

Serialize method BinaryFormatter class, 78 ICMP custom class, 169, 176 Soap Formatter class, 78 XmlSerializer class, 76, 287

server-activated objects, 257,390 server certificates, 466 Server header (HTTP), 348 Server property

HttpWebResponse class, 354 Tcplistener class, 245

servers See also client/ server applications e-mail

NNTP sample application and, 422-429 POP3 sample application and, 414-421 SMTP sample application and, 412

HTTP with ASP.NET support, 375-387 KAS, 483, 485 multithreaded, 250 password concerns and, 4 77

ServiceControllerPermission class, 495 ServicePoint class, 87, 109, 352, 361

timeouts and, 361 ServicePointManager class, 87, 109, 352, 361 session keys, 484 session layer (OSI model), 12, 15 Set method

ManualResetEvent class, 145 WebHeaderCollection class, 353

SetBinaryMode method FtpClient custom class, 240

SetLength method Stream class, 50

SetRequest PDU, 180

INDEX 521

SetSocketOption method enabling/ disabling checksum and, 266 LingerOption class and, 139 Socket class, 126, 137,222,308

setsockoptAPI function, 137 SHA algorithms, 439 ShutDown method

Socket class, 126, 131, 134, 137 signaled events, 140 SignatureAlgorithm property

AsymmetricAlgorithm class, 459 Simple Internet Protocol Plus (SIPP

protocol), 190 Simple Mail Transfer Protocol. See SMTP

protocol Simple Network Management Protocol

(SNMP protocol), 33, 179-186,293 Simple Object Access Protocol (SOAP

protocol), 40 HTTP channels and, 387 .NET Remoting and, 253

Simple Worker Request class, 385 SingleCall activation mode, 257 SingleCall value

WellKnownObjectMode enumeration, 390 Singleton activation mode, 257 Singleton value

WellKnownObjectMode enumeration, 389 sinks, 42, 254 SIPP protocol, 190 site-local addresses, 194 SiteldentityPermission class, 497 SkipSize property

KeySizes class, 458 Sleep method

Thread class, 286 sliding windows, 217 Smartcard authentication, 488 SMTP mail sample application, 412 SMTP protocol, 32, 224, 395

commands for, 224, 396 example of using, 225 sending e-mail and, 395-398,412 System.Web.Mail namespace and, 409 vs. FTP protocol, 229

SMTP service, installing, 412 Smtp.NET, 409 SmtpMail class, 409,410,412 SmtpServer property

SmtpMail class, 412 sn utility, 116 SNMP access policy, 180 SNMP custom class, 182-186 SNMP packets, 181

sending via Socket class, 185 SNMP protocol, 33, 179-186, 293

Page 22: Index YMBOLS - Springer978-1-4302-0660-6/1.pdfasynchronous I/0 operations, 46 FileStream class and, 55 asynchronous IP address resolution, 100 asynchronous programming, 140-154 clients

522 lrW EX

SOAP protocol, 40 HTTP channels and, 387 .NET Remoting and, 253

SOAP formatters, 254 SoapFormatter class, 78

using, 81 socket-based client/server

applications,124,126-134 Socket class, 125-137, 218, 269

client/ server application, creating via, 203-207

enabling/ disabling checksum and, 266 raw sockets and, 165 receiving multicast messages and, 308 SNMP packets, sending via, 185 stream sockets, creating via, 129 UdpClient class and, 269, 280

Socket constructor, 135 socket permissions, 154-161

granting/denying, 158 socket programming, 89, 121-162

raw, 163-179 Socket property

NetworkStream class, 59 SocketException class, 125,221,313

closing connections and, 278 managing exceptions via, 135-137 specifying port numbers and, 271

SocketFlags enumeration, 146 SocketOptionLevel enumeration, 138, 308 SocketOptionName enumeration, 138, 309 SocketPermission class, 113, 154-158

configuring permissions and, 116 System.Net namespace, 495

SocketPermissionAttribute class, 115, 155,159-161

sockets,34, 121-124 address binding and, 138 classes for, 89, 124 creating, 145 multicast, 295-343 options for, setting/retrieving, 137 ports and, 123 raw, 165 TCP protocol and, 217 types of, 122 working with in .NET, 124-140

SocketShutDown enumeration, 131 Socket1'ype enumeration, 129 Socket1'ype property

Socket class, 125 SOML command (SMTP), 397 Source-Specific Multicast protocol (SSM

protocol), 299,309 spoof attacks, Kerberos authentication

and,485 SqlClientPermission class, 495

SSL (Secure Sockets Layer), 32 cryptography and, 437

SSM protocol, 299, 309 SSPI (Security Support Provider

Interface), 488-493 coding for, 492 initializing/terminating sessions of, 491 packages comprising, 488

standards organizations IETF and, 395 IMCand,395 ISO and, 11, 43, 181

Start method lnfoServer class, 330 Process class, 290 TcpListener class, 60, 246 Thread class, 248, 284,313

StartListen method APressServer class, 382

STAT command FTP, 230, 242 POP3,407

state maintaining via cookies, 371, 374 serialization and, 75-82 synchronous/ asynchronous,

specifying, 52 State field

HashAlgorithm class, 446 static encryption keys, 480 static multicast addresses, 301 Stop method

TcpListener class, 246,247 Stop Listener method, 316 STOR command (FTP), 230, 240

using PUT command instead of, 232 stream ciphers, 441 Stream class, 45, 46-50

asynchronous methods and, 49 derived classes and, 46, 50 synchronous methods and, 49

stream data transfer, 216 stream sockets, 35, 122

creating, 129 StreamReader class, 64, 70-72, 107,227,353 streams, 45-83

manipulating data types in, 64-74 Stream Writer class, 64, 73, 108, 358 StringReader class, 70 StringWriter class, 73 strong name assemblies, 116 StrongNameldentityPermission class, 497 Subject property

MailMessage class, 410 subnets, 8, 20

MBone and, 303 substitution ciphers, 434

Page 23: Index YMBOLS - Springer978-1-4302-0660-6/1.pdfasynchronous I/0 operations, 46 FileStream class and, 55 asynchronous IP address resolution, 100 asynchronous programming, 140-154 clients

switched lines, connecting to WANs via, 2 switches, 7 symmetric algorithms, 435

advantages/ disadvantages of, 437 .NET and, 453-458 network programming and, 469

Symmetric.Algorithm class, 62, 444, 453-457 SYN (synchronize sequence number), 23 SYN control bit (TCP/IP), 215 synchronization, asynchronous client/server

application and, 145 synchronize sequence number (SYN), 23 Synchronized method

TextReader class, 71 TextWriter class, 73

synchronous II 0 operations, 46 FileStream class and, 53

system keys, 480 system name, program for obtaining, 185 system port numbers, 22 System.Configuration namespace, 312 System.DirectoryServices namespace, 43 System.IO namespace, 53

stream manipulation and, 64 System.Management namespace, 43 System.Net namespace, 85-89

authentication/ authorization classes and,368

HTTP server classes and, 352 web proxy server classes and, 370

System.Net.Sockets namespace, 34, 59, 89, 124,218,269

SocketPermission class and, 113 managing exceptions and, 135

System.Runtime.Remoting.Channels.Tcp namespace, 255

System.Runtime.Serialization.Formatters namespace, 78

System. Security namespace, 493 System. Security. Cryptography

namespace,61,431,444,493 asymmetric algorithms and, 459 symmetric algorithms and, 453 X509Certificates namespace and, 467

System.Security.Permissions namespace,493,497

System.Security.Policy namespace, 493 System.Security.Principal namespace, 493 System. Text namespace, 53, 313 System. Threading namespace, 248, 281 System.Web.Hosting namespace, 375, 385 System.Web.Mail namespace, 409

CDOSYS message component and, 414 System. Web. Security namespace, 439 System. Web. Services namespace, 40 System.Xml namespace, 321

picture show application and, 318 tampering, detection of, 440

IINOEX 523

• TCP connections, 215 TCP headers, 23, 214 TCP protocol, 23, 213-261

client/server application and, 247-252 e-mail client application and, 223-229 FTP protocol and, 229 handshaking and, 215 .NET support for, 218-252 stream sockets and, 35, 122 vs. UDP protocol, 263, 266-268

table summarizing, 266 unicast messages and, 296

TCP segments, 213 TCP socket client, 132-134 TCP socket server, 126-131 TCP sockets, 217

closing, 222 .NET support for, 218-252 sample e-mail application and, 223-229

TCP transport channels, 253, 255 registering, 258

TCP /IP protocol, 394 HTTP protocol and, 345 network protocols and, 16-34 raw sockets and, 123

TCP/IP protocol stack, 16 TcpChannel class, 255, 387

constructor for, 256 TcpClient class, 124, 218-223, 415

connecting with host, 220 constructor for, 219 e-mail sample client application

illustrating, 223-229 FtpClient custom class and, 237 NetworkStream class, using with, 59,221 protected properties and, 222

TcpClientChannel class, 255 TcpListener class, 60, 125, 218, 245-247

client/server application illustrating, 247-252

constructor for, 246 TcpServerChannel class, 255 TCP'frace.exe network-sniffing utility, 433 TDI ('fransport Device Interface), 488 telnet application, 30, 34

POP3 and, 406 Telnet protocol, 34, 396 test program, for obtaining system name, 185 testing

chat sample application using UDP, setup for, 283

cookie creation, 372, 375 FTP clients, 243 HTTP servers with ASP.NET support, 386

TextReader class, 45, 70-73 derived classes and, 70

Page 24: Index YMBOLS - Springer978-1-4302-0660-6/1.pdfasynchronous I/0 operations, 46 FileStream class and, 55 asynchronous IP address resolution, 100 asynchronous programming, 140-154 clients

524 lrW EX

TextWriter class, 45, 73 derived classes and, 73

TFTP protocol, 293 TGSs (ticket-granting servers), 484 Thawte certifying authority, 466 Thread class, 146, 248,281,313 threads, multithreading and, 248 ThreadStart delegate, 248, 284 three-phase handshaking, 215 ticket-granting servers (TGSs), 484 ticket -granting tickets, 484

Windows 2000 and, 486 tickets, KAS servers and, 483 Time exceeded message, 26 time-to-live value. See TTL value Timeout property

WebRequest class, 104 timeouts, 361 To header (e-mail messages), 400 To property

MailMessage class, 410 ToBase64String method

Convert class, 461 To Double method

Convert class, 357 Token Ring networks, 4 tools. See utilities TOP command (POP3), 407 ToString method

CodeAccessP~rmission class, 495 IPAddress class, 96 UdpClient class, 270

ToXml method CodeAccessPerrnission class, 495 FileiOPerrnission class, 496

ToXmlString method AsymmetricAlgorithm class, 459 RSACryptoServiceProvider class, 461

TRACE method (HTTP), 350 traceroute utility, 163, 187 TRACERT command, 10 tracing, utility for, 176-179 transfer parameter commands (FTP

protocol), 28 Transfer Encoding property

HttpWebRequest class, 354 TransformBlock method

HashAlgorithm class, 446 TransformFinalBlock method

HashAlgorithm class, 446 Transmission Control Protocol. SeeTCP

protocol Transmission Control Protocol/Internet

Protocol. SeeTCPIIP protocol Transport Device Interface (TDI), 488 transport layer (OSI model), 12, 14

Transport property SocketPermissionAttribute class, 115

transport sinks, 254 TransportType enumeration, 158 transposition algorithms, 434 Trap PDU, 180 Triple-DES algorithm, 434,437,458

key size and, 458 Trivial File Transfer Protocol (TFTP

protocol), 293 trust, authentication and, 475 trusted domains, 487 TTL value, 303, 305, 308

datagrams and, 264 ICMP headers and, 176

tunnels, 38, 303 TURN command (SMTP), 397 TYPE command (FTP), 230, 240 Type element (ICMP), 164 type values, protocols and, 165

u UDDI (Universal Description, Discovery, and

Integration), 40 UDL command (POP3), 407 UDP headers, 24 UDP protocol, 24, 263-268

advantages/ disadvantages of, 267 broadcast messages and, 296 datagram sockets and, 35, 123 higher-level UDP-based protocols

and,292 how it works, 265 multicast messages and, 266, 297 .NET support for, 269-292 reliability and, 306 vs. TCP protocol, 213, 263, 266-268

table summarizing, 266 unicast messages and, 296 when to use, 268

UdpClient class, 125, 269-281, 339 closing network connection and, 278 data and

receiving, 277 sending, 27 4-277

instantiating, 271 multicast groups and, joining, 313 multicast messages and

receiving, 308 sending, 307

protected properties and, 280 sample applications illustrating, 281-292 specifying network connection and, 272

UIEnablelnit method PictureServerForm class, 332

UIEnableStart method PictureServerForm class, 332

Page 25: Index YMBOLS - Springer978-1-4302-0660-6/1.pdfasynchronous I/0 operations, 46 FileStream class and, 55 asynchronous IP address resolution, 100 asynchronous programming, 140-154 clients

UIPermission class, 495 Uis (user interfaces)

forchatapplication,309 for e-mail client application, 226 sample, for viewing clear text/ encrypted

cipher text, 461 UnauthorizedAccessException class, 238 unicast addresses, 194, 296 unicast messages, vs. broadcast and

multicastmessages,24 unicasting, 295 Unicode characters, 65 Unicode property

Encoding class, 63 UnicodeEncoding class, 65, 313, 334, 337, 448 Uniform Resource Identifiers. See URis Uniform Resource Locators CURLs). See URis Uniform Resource Names (URNs), 90 Union method

CodeAccessPermission class, 495 Universal Description, Discovery, and

Integration (UDDI), 40 Unix, sockets and, 121 Unknown protocol type value, 166 unreliable communications, transport layer

and, 14 Unspecified protocol type value, 166 UnWrap method

ObjectHandle class, 260 UploadData method

WebClient class, 365 UploadFile method

FtpClient custom class, 240 WebClient class, 366

UploadValues method WebClient class, 367

URG control bit (TCP/IP), 214 Uri class, 91-95, 107,352

absolute/relative URis and, 94 properties of, 92 UriScheme ... fields, 91

Uri property UriBuilder class, 93

UriBuilder class, 352 modifying URis via, 93

UriHostName1'ype enumeration, 92 URis (Uniform Resource Identifiers), 89-95

absolute/relative, 94 DownloadData method for, 363 HTTP requests and, 350 modifying via UriBuilder class, 93 OpenRead method for, 364 Open Write method for, 365 reserved characters and, 91

UriScheme ... fields, 91 UrlAttribute class, 260

UrlcontentBase property MailMessage class, 410

UrlcontentLocation property MailMessage class, 410

UrlEncode method Http Utility class, 358

UrlldentityPermission class, 497

INDEX 525

URLs (Uniform Resource Locators). See URis URNs (Uniform Resource Names), 90 UseDefaultKeyContainer value

CspProviderFlags enumeration, 460 UseMachineKeyStore value

CspProviderFlags enumeration, 460 USER command

FTP, 230, 238 POP3,407

User Datagram Protocol. See UDP protocol user interfaces (Uis)

for chat application, 309 for e-mail client application, 226 sample, for viewing clear text/ encrypted

cipher text, 461 user port numbers, 22 User-Agent header (HTTP), 347 UserAgent property

HttpWebRequest class, 354 Userlnfo property

Uri class, 93 users, authenticating. See authentication using directive, 281,410 UTF7Encoding class, 65 UTF8Encoding class, 65,461,470 utilities

arp, 13 caspol.exe tool, 116 ftp, 29 ipconfig, 100 multikit, 303 .NET Framework Configuration Tool, 116 netstat, 22 network-sniffing, 433 nslookup, 37 permview, 114 ping, 163, 187 sdr, 303 sn, 116 traceroute, 163, 187 TractHost, 176-179

v ValidKeySize method

SymmetricAlgorithm class, 454 VerifySignature function (SSPI), 491 VeriSign certifying authority, 466 virtual private networks (VPNs), 38 Visual C#, POP3 mail application and, 414

Page 26: Index YMBOLS - Springer978-1-4302-0660-6/1.pdfasynchronous I/0 operations, 46 FileStream class and, 55 asynchronous IP address resolution, 100 asynchronous programming, 140-154 clients

526 INDEX

Visual Studio .NET app.config file and, for chat

application, 311 HttpServer project and, 377 picture show application and, 317 WebClient class and, 87

VPNs (virtual private networks), 38 VRFY command (SMTP), 397

w W3C (WorldWide Web Consortium),43 WaitOne method

ManualResetEvent class, 145, 148, 149 WANs (wide area networks), 2 web proxy servers, 39, 109-111

default, 110, 111 System.Net classes for, 89, 370

Web Service Description Language (WSDL),40

web services, 40. See also remoting .NET Remoting and, 253

web sites Internet Engineering Task Force, 395 Internet Mail Consortium, 395 SOAP,41 Yahoo Finance, 355

web.config file, impersonation and, 500 WebClient class, 87,352,362-368 WebException class, 239 WebHeaderCollection class, 353 WebPermission class, 87, 113,495

configuring permissions and, 116 WebPermissionAttribute class, 87, 114 WebProxy class, 89, 110, 370 WebRequest class, 87, 102-108,243

FtpWebRequest custom class and, 231 HttpWebRequest class and, 352 WebClient class and, 362

WebResponse class, 87, 102-108 HttpWebResponse class and,352

well-known ports numbers, 124 list of, 265

WellKnownObjectMode enumeration, 389 whois service, 36 wide area networks (WANs), 2 windows (amounts of data), 217 Windows

authentication methods for, 487-493 .NET Remoting and, 252 NT LAN Manager authentication (NTLM

authentication),476-480 Windows 2000

authentication and, 475 Crypto API and, 444 Kerberos authentication and, 480-487 resource security and, 494

Windows9x authentication and, 475 Crypto API and, 444 Wmdows logon protocol and, 4 79

Windows Forms, 106 chat sample application and, 309 SMTP sample mail application and, 412

Windows Local Area Connection Properties dialog box, installing/uninstalling IPv6 via, 196

Wmdows logon protocol, 4 79 Windows Management Instrumentation

(WMI),43 Windows ME, Crypto API and, 444 Windows NT, resource security and, 494 Wmdows NT (4.0)

authentication and, 475,479 Crypto API and, 444

Windows Server 2003 installing IPv6 on, 195-197 MADCAP/CP servers and, 302 NACK messages and, 306

WindowsXP AddSourceGroup value and, 309 NACK messages and, 306

WinError.h file, 137 Winlogon authentication, 487 WinSockAPI,34,269 WinSock control, 269 WMI (Windows Management

Instrumentation), 43 workstations, Kerberos authentication

and,485 World Wide Web Consortium (W3C), 43 Write method

BinaryWriter class, 68, 69 CryptoStream class, 63 FileStream class, 53, 54 MemoryStream class, 58, 289 NetworkStream class, 58, 221 NNTP custom class, 427 POP3 custom class, 416, 418 Stream class, 49 Stream Writer class, 74, 108 TextWriter class, 73

Write permission, 496 Writeable property

NetworkStream class, 59 WriteByte method

FileStream class, 53 Stream class, 49

WriteCookie sample application, 371-375 WriteHeader method

APressServer class, 381 WriteLine method

Stream Writer class, 74 TextWriter class, 73

Page 27: Index YMBOLS - Springer978-1-4302-0660-6/1.pdfasynchronous I/0 operations, 46 FileStream class and, 55 asynchronous IP address resolution, 100 asynchronous programming, 140-154 clients

Write To method MemoryStream class, 58

WSDL (Web Service Description Language), 40

'A4t9(

X.400 protocol, 394 X509Certificate class, 466 X9.9 standard, 476 XML (Extensible Markup Language)

chat application, configuration files for, 311

HTTP servers with ASP.NET support, configuration files for, 376

keys, saving to/ getting from XML files, 463-466

picture show application and, 318 XML format serialization, 75

[INDEX 527

XML web services, 40, 253. See also remoting XmlDocument class, 321, 462 XmlSerializer class, 75,287,289 XOR operator, stream ciphers and, 441

• ZoneldentityPermission class, 497

Page 28: Index YMBOLS - Springer978-1-4302-0660-6/1.pdfasynchronous I/0 operations, 46 FileStream class and, 55 asynchronous IP address resolution, 100 asynchronous programming, 140-154 clients

JOIN THE APRESS FORUMS AND BE PART OF OUR COMMUNilY. You'll find discussions that cover topics

of interest to IT professionals, programmers, and enthusiasts just like you. If you post a query to one of our

forums, you can expect that some of the best minds in the business-especially Apress authors, who all write

with The Expert's Voice™-will chime in to help you. Why not aim to become one of our most valuable partic­

ipants (MVPs) and win cool stuff? Here's a sampling of what you'll find:

DATABASES

Data drives everything. Share information, exchange ideas, and discuss any database programming or administration issues.

INTERNET TECHNOLOGIES AND NETWORKING

Try living without plumbing (and eventually 1Pv6). Talk about networking topics including protocols, design, administration, wireless, wired, storage, backup, certifications, trends, and new technologies.

JAVA

We've come a long way from the old Oak tree. Hang out and discuss Java in whatever flavor you choose: J2SE, J2EE, J2ME, Jakarta, and so on.

MAC OSX

All about the Zen of OS X. OS X is both the present and the future for Mac apps. Make suggestions, offer up ideas, or boast about your new hardware.

OPEN SOURCE

Source code is good; understanding (open) source is better. Discuss open source technologies and related topics such as PHP, MySQL, Linux, Perl, Apache, Python, and more.

HOW TO PARTICIPATE:

PROGRAMMING/BUSINESS

Unfortunately, it is. Talk about the Apress line of books that cover software methodology, best practices, and how programmers interact with the "suits."

WEB DEVELOPMENT/DESIGN

Ugly doesn't cut it anymore, and CGI is absurd. Help is in sight for your site. Find design solutions for your projects and get ideas for building an interactive Web site.

SECURITY

Lots of bad guys out there-the good guys need help. Discuss computer and network security issues here. Just don't let anyone else know the answers!

TECHNOLOGY IN ACTION

Cool things. Fun things. It's after hours. It's time to play. Whether you're into LEGQ® MINDSTORMSTM or turning an old PC into a DVR, this is where technology turns into fun.

WINDOWS

No defenestration here. Ask questions about all aspects of Windows programming, get help on Microsoft technologies covered in Apress books, or provide feedback on any Apress Windows book.

Go to the Apress Forums site at http://forums.apress.com/.

Click the New User link.