EXtreme Debugging! (with apologies to Kent Beck, et al) (with apologies to Kent Beck, et al) David T Watts CTO Fig Leaf Software 30 Jul 2000.

Slides:



Advertisements
Similar presentations
File Transfer Protocol. FTP (File Transfer Protocol) is used to transfer programs or other information from one computer to another. This simple tool.
Advertisements

The VeriTrak Enterprise Application Created for The Verification Company By CTO Source, Inc. This presentation provides an overview of the system and links.
File Server Organization and Best Practices IT Partners June, 02, 2010.
MS CRM Integration WhosOn Service Integration Presentation MS CRM User Group.
Chapter 14: Troubleshooting and Problem Resolution.
 2003 Prentice Hall, Inc. All rights reserved. Chapter 21 – Web Servers (IIS and Apache) Outline 21.1 Introduction 21.2 HTTP Request Types 21.3 System.
How Clients and Servers Work Together. Objectives Web Server Protocols Examine how server and client software work Use FTP to transfer files Initiate.
1 Configuring Web services (Week 15, Monday 4/17/2006) © Abdou Illia, Spring 2006.
Lesson 20 – OTHER WINDOWS 2000 SERVER SERVICES. DHCP server DNS RAS and RRAS Internet Information Server Cluster services Windows terminal services OVERVIEW.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 8: Implementing and Managing Printers.
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
CP476 Internet Computing Browser and Web Server 1 Web Browsers A client software program that allows you to access and view Web pages on the Internet –Examples.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 8: Implementing and Managing Printers.
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 8 Introduction to Printers in a Windows Server 2008 Network.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 8: Implementing and Managing Printers.
Proxy Servers Dr. Ronald Bergmann, CIO, ISO. Proxy servers A proxy server is a machine which acts as an intermediary between the computers of a local.
Web Proxy Server Anagh Pathak Jesus Cervantes Henry Tjhen Luis Luna.
Reliability and Performance Application protection IIS Reliable Restart Socket pooling Multisite hosting Process throttling Bandwidth throttling.
Hands-On Microsoft Windows Server 2008 Chapter 8 Managing Windows Server 2008 Network Services.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 14: Problem Recovery.
Evaluating Web Server Log Analysis Tools David Strom SD’98 2/13/98.
AppCMD Quick Reference Guide for IIS 7 installed on Win2k8 Servers.
Web Servers Web server software is a product that works with the operating system The server computer can run more than one software product such as .
1 Infrastructure Hardening. 2 Objectives Why hardening infrastructure is important? Hardening Operating Systems, Network and Applications.
1 Web Server Administration Chapter 9 Extending the Web Environment.
Introduction to SQL Server 2000 Security Dave Watts CTO, Fig Leaf Software
4-1 INTERNET DATABASE CONNECTOR Colorado Technical University IT420 Tim Peterson.
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
Copyright 2000 eMation SECURITY - Controlling Data Access with
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Application Layer Functionality and Protocols.
ITIS 1210 Introduction to Web-Based Information Systems Chapter 23 How Web Host Servers Work.
HOW WEB SERVER WORKS? By- PUSHPENDU MONDAL RAJAT CHAUHAN RAHUL YADAV RANJIT MEENA RAHUL TYAGI.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
Course ILT Internet/intranet support Unit objectives Use the Internet Information Services snap-in to manage IIS, Web sites, virtual directories, and WebDAV.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 2: Operating-System Structures Operating.
Database-Driven Web Sites, Second Edition1 Chapter 5 WEB SERVERS.
Securing ColdFusion and IIS David T Watts, CTO, Fig Leaf Software 28 July 2001.
1 Welcome to CSC 301 Web Programming Charles Frank.
Grid Chemistry System Architecture Overview Akylbek Zhumabayev.
Hands-On Microsoft Windows Server Implementing Microsoft Internet Information Services Microsoft Internet Information Services (IIS) –Software included.
Remote Controller & Presenter Make education more efficiently
Computer Networking From LANs to WANs: Hardware, Software, and Security Chapter 13 FTP and Telnet.
FTP File Transfer Protocol Graeme Strachan. Agenda  An Overview  A Demonstration  An Activity.
1 Network Firewalls CSCI Web Security Spring 2003 Presented By Yasir Zahur.
IIS and.Net security -Vasudha Bhat. What is IIS? Why do we need IIS? Internet Information Services (IIS) is a Web server, its primary job is to accept.
Configuring and Troubleshooting Identity and Access Solutions with Windows Server® 2008 Active Directory®
Overview of Firewalls. Outline Objective Background Firewalls Software Firewall Hardware Firewall Demilitarized Zone (DMZ) Firewall Types Firewall Configuration.
1 Chapter Overview Creating Web Sites and FTP Sites Creating Virtual Directories Managing Site Security Troubleshooting IIS.
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
Protocols Monil Adhikari. Agenda Introduction Port Numbers Non Secure Protocols FTP HTTP Telnet POP3, SMTP Secure Protocols HTTPS.
(ITI310) By Eng. BASSEM ALSAID SESSIONS 10: Internet Information Services (IIS)
Plug-In Architecture Pattern. Problem The functionality of a system needs to be extended after the software is shipped The set of possible post-shipment.
Web Server Administration Chapter 6 Configuring a Web Server.
Web and Proxy Server.
Reliability and Performance
Distributed Control and Measurement via the Internet
Introduction to ASP By “FlyingBono” 2009_01 By FlyingBono 2009_01
Hands-On Microsoft Windows Server 2008
Chapter 2: System Structures
Introduction to SQL Server 2000 Security
Welcome To : Group 1 VC Presentation
File Transfer Protocol
IIS.
Chapter 3. Basic Dynamic Analysis
The Client Server Model
The Client Server Model
Applications Layer Functionality & Protocols
APACHE WEB SERVER.
Designing IIS Security (IIS – Internet Information Service)
Presentation transcript:

eXtreme Debugging! (with apologies to Kent Beck, et al) (with apologies to Kent Beck, et al) David T Watts CTO Fig Leaf Software 30 Jul 2000

What is eXtreme Debugging?  For the purposes of this demonstration, it’s debugging problems external to CF.  Many common problems can’t be identified from within CF.  This presentation will examine how to solve common problems using third-party freeware and shareware tools.  This presentation focuses on NT, but there are analogues for Solaris, etc.

What we’ll look at  OS permissions problems  HTTP & FTP protocol problems  Problems with external DLLs  Testing COM objects  Help Resources

OS permissions problems  Most commonly encountered when using IIS to control access via file ACLs  Example: virtual server authentication  Problem: Multiple web server authentication prompts; after several tries, access is allowed, but application doesn’t work correctly.

Permissions problems, cont’d  Cursory glance at directory ACLs looks correct: authtest1 allows anonymous user, authtest2 allows DAVE\Users

Permissions problems, cont’d

 For a quick determination of file ACL problems, you can use the freeware NT File Monitor, from Registry permissions problems can be diagnosed with the NT Registry Monitor, also freeware.

Permissions problems, cont’d

HTTP & FTP protocol problems  Some problems between client and server require viewing raw headers and data.  Problems may occur between end-user and server, or between one server acting as a client and another server.

HTTPAnalyzer  HTTPAnalyzer is a freeware Windows tool from which shows HTTP request and response headers. Easy to use and effective for simply looking at headers.

HTTPAnalyzer

Telnet  Telnet is available on practically every TCP/IP-networked computer.  Telnet can be used to build custom HTTP requests and view and log responses.  Some telnet clients can be scripted.

Telnet

Netcat  Common Windows telnet clients don’t work very well, and can’t be scripted.  Netcat, available for NT from can be used to perform the same tasks as telnet, and more.  Netcat can redirect to and from files, and can be used to act as an HTTP client or server.

Netcat, cont’d  Netcat usage: nc [switches] [IP addr/host] [port]  Switches: -d detach from console -eexecute (followed by command) -llisten -Llisten and restart after termination -plistening port -t perform telnet negotiation -v verbose

Netcat, cont’d  Using Netcat as a client: This example pipes a text file of HTTP request headers to Netcat.

Netcat, cont’d

 Netcat can also be used as a server; this is useful for determining problems with file uploads and proprietary plugins. In this example, Netcat will return an HTTP response to any request on port 81.

Netcat, cont’d

Recording proxies  Recording proxies allow the easy capture of multiple requests/responses between client and server.  Typically, a recording proxy requires that you modify the request to pass through the proxy.

Recording proxies, cont’d  Freeware HTTP and FTP recording proxies are available from These proxies are Perl scripts, and require that Perl be installed on the machine that will act as the proxy (typically the requesting client).  These scripts record request headers, but not request bodies.

Recording proxies, cont’d

 Load-test tools can also generally be used as recording proxies; this is often how the load test script is created. These will record headers and bodies.

Working with external DLLs  A DLL, such as a CFX component, working on one machine may not work on another for no apparent reason.  Typically, this is caused by a dependency on a library found on the working machine, but not on the other.

External DLLs, cont’d  You can use Dependency Checker (depends.exe) to determine what files are needed.  Dependency Checker is available in the Windows NT Resource Kit, Windows 2000 Support Tools (on the Win2K CD), and in Visual Studio.

Dependency Checker

Testing COM objects  Many, but not all, COM objects can be used from CF.  COM objects often come with ASP sample code, but this ASP code may hide some of the complexity behind the object’s usage (ex: authentication).  To separate object testing from web server issues, use Windows Script Host to automate the object, then convert the WSH test to CF iteratively.

Testing COM objects, cont’d

Help resources  Beyond the standard resources for CF, there are several that are useful to CF developers on NT.

Help resources, cont’d  Windows NT/Windows 2000 Resource Kits  IIS Resource Kit  Windows 2000 Magazine Archive, available on CD:  MSDN Library, available from Microsoft  Microsoft Online Support:

General advice (a.k.a. common sense)  Many problems require an approach outside of the normal CF development process.  Very few problems, however, are new to you! Most of them have existing solution processes.  Sometimes, the solution to a problem requires “recasting” the problem to a different problem domain – in other words, looking at the process (“What am I trying to accomplish?”) rather than the implementation issues (“how do I do x?”).

General advice, cont’d  A competent CF developer needs to know more than just CF and SQL.  Beyond development skills, CF developers need to have a basic understanding of the OS they’re using, TCP/IP networking, and the HTTP protocol, among other things.  Iterative solutions make problem-solving easier.  Problems that are purely “CF problems” can easily be tested by any competent CF developer.

That’s all, folks!  This presentation will be available Monday from the CFUG section of the Fig Leaf site, and should be available from the CFUN2K site as well.  If there are any questions, please contact Dave Watts:  Thanks, and have a nice day!