Visualize HTTPS in WireShark - https

I am trying to do a http bot to make me, my online check in.
I used the wireshark application to store the http request and response while i was
make the check in.But when i try to visualize what was sent in the request/response i am not able to to see the https packets.
For example : If i use the firebug plugin (firefox) i am able to see this information:
This first link shows the headers(request/response)
https://docs.google.com/leaf?id=0B9WcB03Ho2uzZmNlNTUyMDYtZjRhZC00YjljLTlkMDAtMDBiMmU4MDAzYjlk&hl=en_US
This second list shows the paylod of the POST method
https://docs.google.com/leaf?id=0B9WcB03Ho2uzNjllYjllYTQtZTg2MS00Zjc1LTgyODQtNTUyNTc5YTk5N2Nh&hl=en_US
But in whireShark when i filter for example by the ip.dst_host , the only packets that appear are the TCP and TLSv1 and in each one i am not able to see the some information thar i am able to see in the firebug because that information is in the application layer(HTTP).
The URL : https://checkin.si.amadeus.net/1ASIHSSCWEBTP/sscwtp/checkindirect

HTTPS is explicitly designed to prevent you from seeing this traffic. If you have the server's private key, you can input it into WireShark to decrypt the packets. Otherwise, use Fiddler.

Related

Send SMS from AngularJS Web App using Ozeki sms Gateway

I want to send SMS from AngularJS web application using Ozeki sms gateway. Can anyone tell me how to do this? pr suggest me some reference link or code sample.
Plain sending
Assume we skipping other protocols available inside Ozeki Sms NG product (like SMPP, Email, DB etc), and getting to HTTP protocol only, you can go this way:
Prerequisites:
Figure out best way for you to make HTTP request to send SMS
(I'm not AngJS guy so may be there are already few ways to make HTTP-request from Angular, but at least any Ajax method passing params to executing PHP-script for making HTTP request (with curl, file_get_contents) will be totally Ok).
Make sure your Ozeki SMS server is reacheable via IP/domainname etc by your PHP-script so your code can reach its endpoint.
Doing it:
Inside Ozeki install service provider like HTTP Client
http://www.ozekisms.com/index.php?owpn=195&info=service-provider-connections/http-client-connection
or HTTP Server (more powerful version of HTTP Client allowing call back URLs)
http://www.ozekisms.com/index.php?owpn=197&info=service-provider-connections/http-server-connection
Then according (to docs) execute request like
http://server_ip:9501/api?action=sendmessage&username=________&password=________&originatior=__________________&recipient=__________________&messagetype=SMS:TEXT&messagedata=______________
*Some fields are not necessary, it may vary depending on Ozeki version you use.
** port 9501 - is a default Ozeki HTTP port which may be changed in general settings, also it has HTTPS port as well. Basically the correct port is the same which you already use when accessing Ozeki Web GUI.
After executing sending request (try from browser or from something like Postman first) you should get responce in XML format informing you about result of your transaction.
Possible next step... DLRs
Getting delivery reports (if supported by your operator) is a common "i want it too" question.
In case you need them - there is great embedded feature inside "HTTP Server" connector (mentioned above).
Here you can see more details
http://www.ozekisms.com/index.php?owpn=431
"reporturl" - is a field you may use to set kind of "call back url". In other words in this optional field you may specify full URL and list fields to be passed along. So you only have to create your own endpoint to catch them (as GET request from Ozeki server) and use inside your software.

Jmeter - Non HTTP response code: org.apache.http.client.ClientProtocolException

I am getting this error in a sub request while navigating to a site.The sub-request is not captured in the script but I am able to see in Results Tree. Please refer below image for details: enter image description here
Could someone please help me resolve this issue?
You are not load testing fonts.googleapis.com host, are you?
I suggest adding the following entry to "URSs must match" section of your HTTP Request sampler (or better for HTTP Request Defaults)
^((?!googleapis).)*$
This will filter out the calls to googleapis host so you could focus on your application solely.
See Excluding Domains From The Load Test article for more detailed explanation and example on how to exclude several domains.
As i am suspecting "Attached image" URL is not useful for you, and you want to
exclude that So need to uncheck "Retrieve all embedded resources" form each
"HTTP REQUEST" and "HTTP REQUEST DEFAULTS"
The reason why you see this exception - the server terminated TCP connection established between client (your Jmeter) and server (googleapi). So, Jmeter expects correct HTTP answer but receives nothing (TCP RST or FIN flag, you can check it by parsing tcpdump).
Possible reasons:
I don't see any cookies sent within the request. As you said, it's a sub-request. So, it should contain session cookies established by server. You can use HTTP Cookie Manager for that.
Your Jmeter can't establish HTTPS connection (you do use HTTPS in this request). Make sure that all is OK with your certificates/keys.

CORS & HTTP Options

I have built a custom receiver app using Google's example for the chromecast.
I am trying to stream SmoothStreaming on it.
Problem is, that I see the networking debugger and I see that for every chunk of SS it fetches, it does HTTP OPTIONS before the HTTP GET.
Is there a way to use a CORS xml or something so that the chromecast will not do these overhead calls?
Thanks
You need a CORS Proxy. Have you tried to use corsproxy.com? Or TOMODOKorz? Links:
http://www.corsproxy.com/
https://github.com/TOMODOcom/TOMODOkorz
From the tests I've been doing, the Chromecast client always sends HTTP OPTIONS to check it has permissions to get the content and then (after receiving a 200 OK) sends a POST to the license server.

Debugging KML in GE client

Working with Google Earth 6.2.2.6613 client and KML files and I have a need for debugging .
I have situation where GE reports my KML file has made an "invalid HTTP request" and it displays the offending URL.
I can cut and paste the URL into a web browser and it returns the expected result.
So the question is " How can you get useful debugging information from the GE client?"
For example "invalid HTTP request" ? How ? whats invalid ? Does GE client run/have a debug log or mode ?
I am using Windows 7 Professional 64bit but I will need to test other versions ( Mac OS X ) in the future.
While a web proxy ( or my own globe server ) would allow me to see the http traffic , I need to see what happens in between requests in the GE client.
Google Earth itself doesn't log what it does internally or have a debug mode to enable such logging. You can enable 'KML Error Handling' in the Tools/Options/General menu which may give more information for invalid KML but validating the KML is best done with something like the KML Validator.
So the easiest way to debug Google Earth HTTP access is using a network analyzer such as the Fiddler Web Debugger to identify the network traffic.
Fiddler runs as an HTTP proxy and captures all web access showing the full HTTP request and response information. Just click 'Capture Traffic' and then launch Google Earth to capture all HTTP traffic.
You can capture the HTTP session with hits to kh.google.com, mw1.google.com, khmdb.google.com, mw2.google.com, and so one with the full URL, HTTP headers for request and response, etc. There are many options for multiple views, filtering, decoding, timing information, and more. You'll see the selected Layers being downloaded as KMZ files.
Sample Web session
Result Port Host URL
200 HTTP kh.google.com /geauth?ct=free
200 HTTP Tunnel to www.google.com:443
200 HTTP Tunnel to accounts.google.com:443
200 HTTP kh.google.com /flatfile?q2-0-q.534
200 HTTP mw1.google.com /mw-earth-vectordb/photos/360cities/360cities.kmz
200 HTTP mw1.google.com /mw-weather/base/files/kml/weather_en.kmz
...
After debugging you can stop Fiddler which restores the HTTP proxy settings back to normal.
I use this tool to quickly see what Google Earth is doing behind the scenes. It is easy to use and very friendly.
http://www.fiddler2.com/fiddler2/

How to see all HTTP Get request sent from browser without debugging tool?

so, I have page doing a number of ajax and jsonp(i.e. injection) to get data. I would like to know how to find out the request URL I have made without using debugging tools, like firebug. etc. i.e. the history of GET request of the browser. Thanks
For the most part, browsers do NOT log a history of their HTTP GET requests. Also, if you're using ajax, you're probably doing HTTP POST requests as well.
You don't have to use an in-browser tool like Firebug, but you will need some tool to actually get a history of requests and the request bodies.
You can use a tool like Fiddler2, which is a proxy that gets all HTTP traffic outgoing from your computer (including from your browser and all other applications).
If you have control of the server environment, you can also set up logging on the server to capture this data.
You can use WireShark or a similar tool to monitor the network traffic and inspect the packets.

Resources