| | Copyright |
| | Praise for Implementing CIFS |
| | Bruce Perens' Open Source Series |
| | About Prentice Hall Professional Technical Reference |
| | About the Cover Art |
| | Foreword |
| | Introduction: CIFS from Eight Miles High |
| | | Section 0.1. First Impressions |
| | | Section 0.2. What is CIFS? |
| | | Section 0.3. The CIFS Community |
| | | Section 0.4. Audience |
| | | Section 0.5. Scope |
| | | Section 0.6. Acknowledgements and Thanks |
| | | Section 0.7. About the Author |
| | | Section 0.8. License |
|
| | Part I: NBT: NetBIOS over TCP/IP |
| | | Chapter 1. A Short Bio of NetBIOS |
| | | Section 1.1. NetBIOS and DOS: The Early Years |
|
| | | Chapter 2. Speaking NetBIOS |
| | | Section 2.1. Emulating "NetBIOS LANs" |
| | | Section 2.2. Scope: The Final Frontier |
| | | Section 2.3. Thus Endeth the Overview |
|
| | | Chapter 3. The Basics of NBT Implementation |
| | | Section 3.1. You Got the Name , Look Up the Number |
| | | Section 3.2. Interlude |
|
| | | Chapter 4. The Name Service in Detail |
| | | Section 4.1. NBT Names : Once More with Feeling |
| | | Section 4.2. NBT Name Service Packets |
| | | Section 4.3. Conversations with the Name Service |
| | | Section 4.4. Enough Already |
|
| | | Chapter 5. The Datagram Service in Detail |
| | | Section 5.1. Datagram Distribution over Routed IP Internetworks |
| | | Section 5.2. The NBDD and the Damage Done |
| | | Section 5.3. Implementing a Workable Datagram Service |
|
| | | Chapter 6. The Session Service in Detail |
| | | Section 6.1. Session Service Header |
| | | Section 6.2. Creating an NBT Session |
| | | Section 6.3. Maintaining an NBT Session |
| | | Section 6.4. Closing an NBT Session |
|
| | | Chapter 7. Where It All Went Wrong |
| | | Section 7.1. The 0x1D irty Little Secret |
| | | Section 7.2. Twenty-five IPs or Less |
| | | Section 7.3. Special Handling Required for 0x1B Names |
| | | Section 7.4. Alternate Name Resolution |
| | | Section 7.5. The Awful Truth |
|
|
| | Part II: SMB: The Server Message Block Protocol |
| | | Chapter 8. A Little Background on SMB |
| | | Section 8.1. Getting Started |
| | | Section 8.2. NBT or Not NBT |
|
| | | Chapter 9. An Introductory Tour of SMB |
| | | Section 9.1. The Server Identifier |
| | | Section 9.2. The Directory Path |
| | | Section 9.3. The File |
| | | Section 9.4. The SMB URL |
| | | Section 9.5. Was That Trip Really Necessary? |
|
| | | Chapter 10. First Contact: Reaching the Server |
| | | Section 10.1. Interpreting the Server Identifier |
| | | Section 10.2. The Destination Port |
| | | Section 10.3. Transport Discovery |
| | | Section 10.4. Connecting to the Server |
|
| | | Chapter 11. SMB in Its Natural Habitat |
| | | Section 11.1. Our Very First Live SMBs |
| | | Section 11.2. SMB Message Structure |
| | | Section 11.3. Case in Point: NEGOTIATE PROTOCOL |
| | | Section 11.4. The AndX Mutation |
| | | Section 11.5. The Flow of Conversation |
| | | Section 11.6. A Little More Code |
| | | Section 11.7. Take a Break |
|
| | | Chapter 12. The SMB Header in Detail |
| | | Section 12.1. The SMB_HEADER.STATUS Field Exposed |
| | | Section 12.2. The FLAGS and FLAGS2 Fields Tell All |
| | | Section 12.3. EXTRA! EXTRA! Read All About It! |
| | | Section 12.4. TID and UID : Separated at Birth? |
| | | Section 12.5. PID and MID Revealed |
| | | Section 12.6. SMB Header Final Report |
|
| | | Chapter 13. Protocol Negotiation |
| | | Section 13.1. A Smattering of SMB Dialects |
| | | Section 13.2. Greetings: The NEGOTIATE PROTOCOL REQUEST |
| | | Section 13.3. Gesundheit: The NEGOTIATE PROTOCOL RESPONSE |
| | | Section 13.4. Are We There Yet? |
|
| | | Chapter 14. Session Setup |
| | | Section 14.1. SESSION SETUP ANDX REQUEST Parameters |
| | | Section 14.2. SESSION SETUP ANDX REQUEST Data |
| | | Section 14.3. The SESSION SETUP ANDX RESPONSE SMB |
|
| | | Chapter 15. Authentication |
| | | Section 15.1. Anonymous and Guest Login |
| | | Section 15.2. Plaintext Passwords |
| | | Section 15.3. LM Challenge/Response |
| | | Section 15.4. NTLM Challenge/Response |
| | | Section 15.5. NTLM Version 2 |
| | | Section 15.6. Extended Security: That Light at the End of the Tunnel |
| | | Section 15.7. Kerberos |
| | | Section 15.8. Random Notes on W2K and NT Domain Authentication |
| | | Section 15.9. Random Notes on Message Authentication Codes |
| | | Section 15.10. Non Sequitur Time |
| | | Section 15.11. Further Study |
|
| | | Chapter 16. Building Your SMB Vocabulary |
| | | Section 16.1. That TREE CONNECT Thingy |
| | | Section 16.2. SMB Echo |
| | | Section 16.3. Readin', Writin', and 'Rithmatic |
| | | Section 16.4. Transaction SMBs |
|
| | | Chapter 17. The Remaining Oddities |
| | | Section 17.1. Opportunistic Locks (OpLocks) |
| | | Section 17.2. Distributed File System (DFS) |
| | | Section 17.3. DOS Attributes, Extended File Attributes, Long Filenames, and Suchlike |
|
| | | Chapter 18. That Just about Wraps Things Up for SMB |
|
| | Part III: The Browse Service |
| | | Chapter 19. A Beautiful Day in the Network Neighborhood |
| | | Section 19.1. History: From Frontier Town to Bustling Metropolis |
| | | Section 19.2. Sociology |
| | | Section 19.3. Politics |
|
| | | Chapter 20. Meet the Neighbors |
| | | Section 20.1. Browse Service Clientele |
| | | Section 20.2. The Local Master Browser |
| | | Section 20.3. Becoming a Backup Browser |
| | | Section 20.4. Crossing the Street with the DMB |
| | | Section 20.5. Elections |
|
| | | Chapter 21. Infrastructure: The Mailslot and Named Pipe Abstractions |
| | | Section 21.1. Meet the Plumbing: Named Pipes |
| | | Section 21.2. The Mailslot Metaphor |
|
| | | Chapter 22. The Talk on the Street |
| | | Section 22.1. Making Sense of SMBtrans |
| | | Section 22.2. Browse Service Mailslot Messages |
| | | Section 22.3. RAPture |
|
| | | Chapter 23. The Better Browser Bureau |
| | | Section 23.1. Running an Election |
| | | Section 23.2. Timing Is Everything |
|
| | | Chapter 24. Samba Browse Service Enhancements |
| | | Section 24.1. Automatic LANMAN |
| | | Section 24.2. UnBrowsable |
| | | Section 24.3. NBNS Wildcard DMB Queries and Enhanced Browsing |
| | | Section 24.4. Remote Announce |
| | | Section 24.5. Remote Browse Sync |
| | | Section 24.6. DMB != PDC |
|
| | | Chapter 25. It Can't Happen Here |
| | | Section 25.1. Misconfigured Hosts |
| | | Section 25.2. Misconfigured Networks |
| | | Section 25.3. Implementation Bugs |
| | | Section 25.4. Troublemakers |
| | | Section 25.5. Design Flaws |
|
| | | Chapter 26. At Home in the Network Neighborhood |
|
| | Part IV: Appendices |
| | | Appendix A. Making a Good Cup of Tea |
| | | Section A.1. Basics of Making Tea |
| | | Section A.2. About Tea |
| | | Section A.3. Nasty Habits |
| | | Section A.4. Decaffeinating Tea |
|
| | | Appendix B. Known NetBIOS Suffix Values |
| | | Section B.1. NetBIOS Name Suffix Bytes |
| | | Section B.2. Special Handling of NetBIOS Names in WINS |
|
| | | Appendix C. The SMB URL |
| | | Section C.1. The Origins of the SMB URL |
| | | Section C.2. Of Round Pegs, Square Holes, and Big Mallets |
| | | Section C.3. Form Versus Function |
| | | Section C.4. Additional Parts |
| | | Section C.5. A Simple SMB URL Parser |
|
| | | Appendix D. CIFS Technical Reference |
| | | Abstract |
| | | Intended Usage |
| | | Acknowledgements |
| | | Table of Contents |
| | | Section 1. Introduction |
| | | Section 2. Protocol Operation Overview |
| | | Section 3. SMB Message Formats and Data Types |
| | | Section 4. SMB Requests |
| | | Section 5. SMB Symbolic Constants |
| | | Section 6. Error Codes and Classes |
| | | Section 7. Security Considerations |
| | | Section 8. References |
| | | Section 9. Appendix A -- NETBIOS transport over TCP |
| | | Section 10. Appendix B -- TCP transport |
| | | Section 11. Appendix C Share Level Server Security |
| | | Section 12. Appendix D CIFS UNIX Extension |
| | | Section 13. Appendix E CIFS Macintosh Extension |
| | | Section 14. Appendix F API Numbers for Transact based RAP calls |
|
|
| | Glossary |
| | References |
| | | Books |
| | | Web |
|
| | Index |