• View Communities
    • Citrix Developer Network
      The place for unfiltered straight talk on Citrix products. Blogs, code downloads, best practices, APIs, and more can all be found here.
    • Citrix Ready Community Verified
      Does it work with Citrix? Application compatibility questions are a thing of the past with the new Citrix Community Verified site.
    • Blogs
      Learn the latest from the Citrix employees who are building application delivery infrastructure technologies.
    • Blogosphere
      The Citrix Blogosphere is a window into the thousands of conversations taking place about Citrix and Application Delivery.
  •  Sign In
The Citrix Blog
Personal Blog
Craig Ellrod
Related Tags
posted by Craig Ellrod

Application Profiling

Introduction:

I can turn you into an Application expert in 5 minutes by reading this post.  Just do what the experts do, or even the not-so-experts.  They pay meticulous attention to the requests from clients and the responses from servers, both headers and body content.  You do this the old fashioned way by taking a trace.  There are better tools out there, some free, some not-so-free.

Running a trace:

Running a trace will help you 'profile' the application. It is recommended that you do this before placing the Citrix Application Switch in-line of the Application traffic. This will gather important information about the Application that will help you understand it's basic operation at Layer 7, and help you begin to understand what it is that needs to be accelerated - cached, compressed, load balanced, ssl offloaded, etc.

Running a trace exposes the flow of transactions between all points of interest. Traces are especially helpful when digging in to find what is contained within the headers being exchanged between the client and the application.

Taking a trace with wireshark:

The free network protocol analyzer called wireshark, http://www.wireshark.org, will capture packets for you on the localhost, whether it's windows or linux. By filtering the stream of packets by IP Address, right clicking and selecting 'Follow TCP Stream' inside of wireshark, you can see the headers for both requests and responses.

Wireshark tip 1
Find the first 'SYN' in the stream, right click, 'Follow TCP Stream'.


Wireshark tip 2
Client requests are in Red, Server responses are in Blue.


Taking a trace with the Citrix Application Switch:

If the Citrix Application Switch is already in place, a trace can be run directly on the Citrix Application Switch. Running a trace will expose the flow of transactions between all points of interest, especially the client, load balancing VIPs and backend servers. Traces are especially helpful when digging in to find out if the proper headers are being exchanged between client & VIP and VIP & backend servers. A trace can be run directly on the Citrix Application Switch. Once downloaded this file can be opened and request and response headers read with Wireshark, a free network trace utility, http://www.wireshark.org. From the Citrix Application Switch GUI, navigate to NetScaler -> System -> Diagnostics -> New Trace -> Run. 

Viewing headers with Paros:

Paros was originially written for web security, but has value when viewing request and response headers, cookies and the like. Through Paros's proxy nature, all HTTP and HTTPS data between server and client, including cookies and form fields, can be intercepted. There is an additional option of trapping and modifying data before sending it on to the server, or client. Paros can be found at http://parosproxy.org. Free.

Viewing headers with Live HTTP Headers:

Live HTTP Headers, http://livehttpheaders.mozdev.org/, was developed for use with the Firefox web browser. It is a free add-on and allows you to view HTTP header information in real time. Free.

Viewing headers with IE Analyzer:

IEInspector HTTP Analyzer, http://www.ieinspector.com, is a tool that allows you to monitor, trace, debug and analyze HTTP/HTTPS traffic in real-time. It works with Microsoft Internet Explorer. Not-Free.

Viewing headers with IE Watch:

IEWatch, http://www.iewatch.com, is another plug-in for Microsoft Internet Explorer that helps you profile your web applications. You can use this tool to dig deep into the inner workings of web applications to find hidden issues. Not-Free.

Watch this Application Profiling Tip:

Tap into the power of AppExpert

Labels

netscaler netscaler Delete
appexpert appexpert Delete
wireshark wireshark Delete
pcap pcap Delete
headers headers Delete
request request Delete
response response Delete
apptips apptips Delete
tips tips Delete
netscaler netscaler Delete
trace trace Delete
sniff sniff Delete
sniffer sniffer Delete
mpx mpx Delete
lb lb Delete
llb llb Delete
slb slb Delete
gslb gslb Delete
clustering clustering Delete
rewrite rewrite Delete
client-ip client-ip Delete
x-forwarded-for x-forwarded-for Delete
apache apache Delete
iis iis Delete
policies policies Delete
policy policy Delete
pe pe Delete
cache cache Delete
caching caching Delete
appcache appcache Delete
compress compress Delete
compression compression Delete
appcompress appcompress Delete
controller controller Delete
acceleration acceleration Delete
f5 f5 Delete
array array Delete
zeus zeus Delete
radware radware Delete
cisco cisco Delete
microsoft microsoft Delete
asp asp Delete
ias ias Delete
foundry foundry Delete
extreme extreme Delete
sap sap Delete
oracle oracle Delete
siebel siebel Delete
peoplesoft peoplesoft Delete
bea bea Delete
citrix load balancer citrix_load_balancer Delete
citrix load balancing citrix_load_balancing Delete
link load balancer link_load_balancer Delete
link load balancing link_load_balancing Delete
load balancer load_balancer Delete
load balancing load_balancing Delete
server load balancer server_load_balancer Delete
server load balancing server_load_balancing Delete
security load balancer security_load_balancer Delete
security load balancing security_load_balancing Delete
hardware load balancer hardware_load_balancer Delete
hardware load balancing hardware_load_balancing Delete
next gen load balancing next_gen_load_balancing Delete
website load balancer website_load_balancer Delete
website load balancing website_load_balancing Delete
application load balancer application_load_balancer Delete
application load balancing application_load_balancing Delete
application switch application_switch Delete
web application controller web_application_controller Delete
application controller application_controller Delete
application delivery application_delivery Delete
tcp multiplexing tcp_multiplexing Delete
ssl offload ssl_offload Delete
ssl multiplexing ssl_multiplexing Delete
global server load balancing global_server_load_balancing Delete
wan load balancing wan_load_balancing Delete
content rewrite content_rewrite Delete
external url external_url Delete
internal url internal_url Delete
home page redirect home_page_redirect Delete
apache rewrite apache_rewrite Delete
server obfuscation server_obfuscation Delete
application obfuscation application_obfuscation Delete
http header http_header Delete
policy engine policy_engine Delete
content switching content_switching Delete
content switch content_switch Delete
content acceleration content_acceleration Delete
content accelerator content_accelerator Delete
application acceleration application_acceleration Delete
application accelerator application_accelerator Delete
tcp acceleration tcp_acceleration Delete
ssl acceleration ssl_acceleration Delete
lang-eng lang-eng Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.