Sushant

If the issue is correlating HTTP responses to the appropriate request, you 
could do this using the TCP connection as there can only be a single HTTP 
request outstanding on a TCP connection at a time.  So, when you've found an 
HTTP request in the capture, extract the source/target IP address/port and then 
find the next HTTP response in the capture with the matching target/source IP 
address/port (obviously flipped in relation to the request).

Mike

-----Original Message-----
From: [email protected] 
[mailto:[email protected]] On Behalf Of Eleanor 
Merry
Sent: 17 October 2014 20:43
To: Sushant Hiray; [email protected]
Subject: Re: [Clearwater] Benchmarking per-hop delays

Hi Sushant, 

The ha1 value is the md5 hash of username:realm:password, so you could 
correlate the packets by working out this for each username in your other 
packets. I don't know of a better workflow than you've already described 
though. 

Ellie


-----Original Message-----
From: [email protected] 
[mailto:[email protected]] On Behalf Of Sushant 
Hiray
Sent: 10 October 2014 20:51
To: [email protected]
Subject: [Clearwater] Benchmarking per-hop delays

Dear All,

As a part of my project, I'm trying to benchmark the per hop delays 
corresponding to the sip-register request.

For the packet inspection I'm using Scapy 
<http://www.secdev.org/projects/scapy/>

I'm facing a bit of difficulty in tracing the route between sprout and 
homestead.

Here are the payloads:

In [26]: pkts[3].load
Out[26]: 'GET /impi/user1%40ims.hom/av?impu=sip%3Auser1%40ims.hom
HTTP/1.1\r\nHost: 10.129.34.49:8888\r\nAccept: */*\r\nX-SAS-HTTP-Branch-ID:
f0b4177d-2053-40b6-b6a6-ed9e3bc24400\r\n\r\n'

In [27]: pkts[5].load
Out[27]: 'HTTP/1.1 200 OK\r\nContent-Length: 84\r\nContent-Type:
text/plain\r\n\r\n{"digest":{"ha1":"52774557028aebeaf0115c259d970965","realm":"ims.hom","qop":"auth"}}'

In [25]: pkts[13].load
Out[25]: 'PUT /impu/sip%3Auser1%40ims.hom/reg-data?private_id=user1%40ims.hom
HTTP/1.1\r\nHost: 10.129.34.49:8888\r\nAccept: */*\r\nX-SAS-HTTP-Branch-ID:
74992e9e-2e9b-45c2-9d1b-bebaaf0b1ae3\r\nContent-Length: 18\r\nContent-Type:
application/x-www-form-urlencoded\r\n\r\n{"reqtype": "reg"}'

In [24]: pkts[15].load
Out[24]: 'HTTP/1.1 200 OK\r\nContent-Length: 847\r\nContent-Type:
text/plain\r\n\r\n<ClearwaterRegData>\n\t<RegistrationState>REGISTERED</RegistrationState>\n\t<IMSSubscription
xsi="http://www.w3.org/2001/XMLSchema-instance";
noNamespaceSchemaLocation="CxDataType.xsd">\n\t\t<PrivateID>user1
@ims.hom</PrivateID>\n\t\t<ServiceProfile>\n\t\t\t<InitialFilterCriteria>\n\t\t\t\t<TriggerPoint>\n\t\t\t\t\t<ConditionTypeCNF>0</ConditionTypeCNF>\n\t\t\t\t\t<SPT>\n\t\t\t\t\t\t<ConditionNegated>0</ConditionNegated>\n\t\t\t\t\t\t<Group>0</Group>\n\t\t\t\t\t\t<Method>INVITE</Method>\n\t\t\t\t\t\t<Extension/>\n\t\t\t\t\t</SPT>\n\t\t\t\t</TriggerPoint>\n\t\t\t\t<ApplicationServer>\n\t\t\t\t\t<ServerName>sip:mmtel.Unknown</ServerName>\n\t\t\t\t\t<DefaultHandling>0</DefaultHandling>\n\t\t\t\t</ApplicationServer>\n\t\t\t</InitialFilterCriteria>\n\t\t\t<PublicIdentity>\n\t\t\t\t<BarringIndication>1</BarringIndication>\n\t\t\t\t<Identity>sip:[email protected]
</Identity>\n\t\t\t</PublicIdentity>\n\t\t</ServiceProfile>\n\t</IMSSubscription>\n</ClearwaterRegData>\n\n'

So in response corresponding to the GET request by sprout, hss sends a STATUS 
200/OK message. However, I couldn't find any identification in this packet so 
as to figure out, the response is corresponding to which user.

In all the other 3 packets, there is an explicit mention of the exact user.
Can you please help me figure out the appropriate identification in the packet.
I can see there is an "ha1" hash in the payload, but I'm not sure, how is this 
linked to the username.

On a sidenote: is there any better tool/workflow to benchmark per hop delays.
My current workflow is to capture packets via tcpdump and then parse them and 
extract information using scapy. I would be happy to see if there is any better 
way to do the same.

Thanks for your help.

Regards,
Sushant Hiray,
Senior Undergrad CSE,
IIT Bombay
_______________________________________________
Clearwater mailing list
[email protected]
http://lists.projectclearwater.org/listinfo/clearwater
_______________________________________________
Clearwater mailing list
[email protected]
http://lists.projectclearwater.org/listinfo/clearwater
_______________________________________________
Clearwater mailing list
[email protected]
http://lists.projectclearwater.org/listinfo/clearwater

Reply via email to