Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8793287
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 13, 20262026-06-13T23:06:12+00:00 2026-06-13T23:06:12+00:00

I am doing push using mercurial hg to bitbucket.org using https. There is a

  • 0

I am doing push using mercurial hg to bitbucket.org using https.

There is a bunch of changes to text files and also binary files added. So I would like to capture the real traffic of this command in http format to analyze. How can I make it? Or at least inspecting an example of captured human-readable push would be great.

There is a link for mercurial wire protocol, but no example how it might really look.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-13T23:06:13+00:00Added an answer on June 13, 2026 at 11:06 pm

    There are a couple of proxies (http://mitmproxy.org/ is popular, I really like http://www.charlesproxy.com/) which can MITM the HTTPS connection… However, it might be simpler to start a local Mercurial server, then sniff that connection:

    $ cd some-hg-repo/
    $ hg serve
    … listening at http://127.0.0.1:8000/ …
    

    Then fire up your packet sniffer watching on the loopback interface, and from another shell:

    % hg clone http://127.0.0.1:8000/ repo-clone
    % cd repo-clone
    % fortune > foo.c
    % hg commit -m "change to foo"
    % hg push
    

    And here’s a bit of what it looks like:

    $ sudo tcpdump -i lo0 -A 'tcp port 8000 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'
    03:15:05.515867 IP localhost.52031 > localhost.irdmi: Flags [P.], seq 2116430132:2116430284, ack 835526317, win 40830, options [nop,nop,TS val 269453377 ecr 269453377], length 152
    E....2@.@............?.@~&)41......~.......
    ...A...AGET /?cmd=capabilities HTTP/1.1
    Accept-Encoding: identity
    host: localhost:8000
    accept: application/mercurial-0.1
    user-agent: mercurial/proto-1.0
    … snip …
    03:15:05.516780 IP localhost.irdmi > localhost.52031: Flags [P.], seq 173:303, ack 152, win 40830, options [nop,nop,TS val 269453378 ecr 269453378], length 130
    E...8b@.@............@.?1..Y~&)....~.......
    ...B...Blookup changegroupsubset branchmap pushkey known getbundle unbundlehash batch stream unbundle=HG10GZ,HG10BZ,HG10UN httpheader=1024
    
    GET /?cmd=batch HTTP/1.1
    Accept-Encoding: identity
    x-hgarg-1: cmds=heads+%3Bknown+nodes%3D
    host: localhost:8000
    vary: X-HgArg-1
    accept: application/mercurial-0.1
    user-agent: mercurial/proto-1.0
    
    …snip…
    
    03:15:05.528852 IP localhost.irdmi > localhost.52033: Flags [P.], seq 474:516, ack 355, win 40830, options [nop,nop,TS val 269453389 ecr 269453389], length 42
    E..^.h@.@............@.A.W...,.....~.R.....
    ...M...M92550c48fd2dc2c112ac88215eff29a5012abff1
    ;
    03:15:05.529756 IP localhost.52033 > localhost.irdmi: Flags [P.], seq 355:628, ack 516, win 40830, options [nop,nop,TS val 269453390 ecr 269453389], length 273
    E..E.N@.@............A.@.,...W.....~.9.....
    ...N...MGET /?cmd=getbundle HTTP/1.1
    Accept-Encoding: identity
    x-hgarg-1: common=0000000000000000000000000000000000000000&heads=92550c48fd2dc2c112ac88215eff29a5012abff1
    host: localhost:8000
    vary: X-HgArg-1
    accept: application/mercurial-0.1
    user-agent: mercurial/proto-1.0
    
    …snip…
    
    03:15:05.535163 IP localhost.irdmi > localhost.52033: Flags [P.], seq 688:6194, ack 628, win 40830, options [nop,nop,TS val 269453395 ecr 269453394], length 5506
    E...AZ@.@............@.A.W...,.....~.......
    ........]..>O..3.x....L .-.....I.mh....M}.i!..Bh8.PL.   .O
    1iB ...C.....4.4....:...H..w....7.\..#.{.p.......-g.....^u....5...H...MWu.@....c.C4Y^19QP....l.....1.d.ukh.5..M.....k.A..<'.2..,.2.......{.q.(?.....rc"._.........m.xx.';...]V_0..e..j..{....OWf.n........J.bZ&kVXAR4...!....*..J.b..x.....@.Y..P........e.i;#....c.F..._.m.a|. .........=.
    
    … snip …
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm using WebDeploy to push physical files to a target location when doing a
I am doing push notification for android using C2DM. it works well. but while
I'm doing an internship and they are using SVN (although there has been some
I'm unable to push my changes back to a Launchpad repository using git-bzr. $
We are using TortoiseHg with BitBucket. There are two developers working remotely on the
I was implementing the server-push content using comet to the client browser. There should
I am doing shadow mapping using OpenGL. There is a z-fighting problem when comparing
I'm interested in doing data-push from django to flex, can this be done using
Say, if the whole team using Git or Mercurial is doing: (example in Mercurial
I am working doing OBEX push transfers to an embedded system we are building

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.