10

I'm currently using a Windows box, running Chrome 27 on the dev channel, and I have what I believe to be an unusually large number of listening connections connected with the process.

The following command returns 268 listening ports:
netstat -aon|find /i /c "11692"
(where in this case 11692 is the main chrome process)

This is what some of the ports looks like from netstat:

UDP    0.0.0.0:62483          :                                    11692
UDP    0.0.0.0:62486          :                                    11692
UDP    0.0.0.0:62487          :                                    11692
UDP    0.0.0.0:62488          :                                    11692
UDP    0.0.0.0:62489          :                                    11692
UDP    0.0.0.0:62492          :                                    11692
UDP    0.0.0.0:62493          :                                    11692
UDP    0.0.0.0:62494          :                                    11692
UDP    0.0.0.0:62495          :                                    11692
UDP    0.0.0.0:62496          :                                    11692
UDP    0.0.0.0:62498          :                                    11692
UDP    0.0.0.0:62499          :                                    11692
UDP    0.0.0.0:62500          :                                    11692
UDP    0.0.0.0:62501          :                                    11692
UDP    0.0.0.0:62502          :                                    11692
UDP    0.0.0.0:62503          :                                    11692
UDP    0.0.0.0:62504          :                                    11692
UDP    0.0.0.0:62505          :                                    11692
UDP    0.0.0.0:62506          :                                    11692
UDP    0.0.0.0:62509          :                                    11692
UDP    0.0.0.0:62510          :                                    11692
UDP    0.0.0.0:62511          :                                    11692
UDP    0.0.0.0:62512          :                                    11692
UDP    0.0.0.0:62513          :                                    11692
UDP    0.0.0.0:62541          :                                    11692
UDP    0.0.0.0:62542          :                                    11692
UDP    0.0.0.0:62543          :                                    11692
UDP    0.0.0.0:62544          :                                    11692
UDP    0.0.0.0:62545          :                                    11692
UDP    0.0.0.0:62547          :                                    11692
UDP    0.0.0.0:62786          :                                    11692
UDP    0.0.0.0:62787          :                                    11692
UDP    0.0.0.0:62789          :                                    11692
UDP    0.0.0.0:62790          :                                    11692
UDP    0.0.0.0:62791          :                                    11692
UDP    0.0.0.0:62792          :                                    11692
UDP    0.0.0.0:62793          :                                    11692
UDP    0.0.0.0:62794          :                                    11692
UDP    0.0.0.0:62796          :                                    11692
UDP    0.0.0.0:62797          :                                    11692
UDP    0.0.0.0:62798          :                                    11692
UDP    0.0.0.0:62799          :                                    11692
UDP    0.0.0.0:62800          :                                    11692
UDP    0.0.0.0:62801          :                                    11692
UDP    0.0.0.0:62802          :                                    11692
UDP    0.0.0.0:62803          :                                    11692
UDP    0.0.0.0:62805          :                                    11692
UDP    0.0.0.0:62806          :                                    11692
UDP    0.0.0.0:62807          :                                    11692
UDP    0.0.0.0:62808          :                                    11692
UDP    0.0.0.0:62809          :                                    11692
UDP    0.0.0.0:62810          :                                    11692
UDP    0.0.0.0:62812          :                                    11692
UDP    0.0.0.0:62813          :                                    11692
UDP    0.0.0.0:62814          :                                    11692
UDP    0.0.0.0:62815          :                                    11692
UDP    0.0.0.0:62817          :                                    11692
UDP    0.0.0.0:62818          :                                    11692
UDP    0.0.0.0:62820          :                                    11692
UDP    0.0.0.0:62821          :                                    11692
UDP    0.0.0.0:62822          :                                    11692
UDP    0.0.0.0:62823          :                                    11692
UDP    0.0.0.0:62824          :                                    11692
UDP    0.0.0.0:62825          :                                    11692
UDP    0.0.0.0:62826          :                                    11692
UDP    0.0.0.0:62827          :                                    11692
UDP    0.0.0.0:62828          :                                    11692
UDP    0.0.0.0:62829          :                                    11692
UDP    0.0.0.0:62830          :                                    11692
UDP    0.0.0.0:64681          :                                    11692
UDP    0.0.0.0:64682          :                                    11692
UDP    0.0.0.0:64683          :                                    11692
UDP    0.0.0.0:65017          :                                    11692

Maybe I'm missing something with my reading of netstat, but this seems unusually high.

This is a repeat issue. The only thing needed to evoke the massive number of ports listening is to start Chrome. Also, when I close Chrome, always at least one process is still running after I close the browser, and seems to run indefinitely (this is not the process associated with the large number of ports open - or at least not by itself - as the ports go away when I close the browser).

Does anyone know:

  1. If this is normal?
  2. If it's not normal, what could explain it?
  3. How I could find out more information about what is actually going on?

I have Wireshark installed, but it always seems to confound my understanding, and I haven't felt like trying to grok it yet. Also, Windows Event Log reveals nothing.

Note that this is not a duplicate of question Why does Google need so many ports open? as these ports are not dedicated to - and do not appear to be related to - any websites at all.

Thanks in advance.

2
  • 2
    You've messed with your experimental settings... that's why! Check chrome://flags/ and tell me if "Built-in Asynchronous DNS" is Enabled or Default/Disabled... it should be Default.
    – user208242
    Mar 18, 2013 at 10:47
  • Nice! I think you are absolutely right. I had messed with some flags, though I can't remember whether that was one of them. However, after a regular chrome version update, this stopped happening. Maybe that flag reverts after update - it is on default now. Other flags I've set didn't revert. Anyway - thanks for helping remove the mysterious nature of the issue:)
    – dgo
    Mar 20, 2013 at 4:26

1 Answer 1

5

Asynchronous DNS on Chrome, read more about it at The Chromium Projects

Long story short: Chrome uses native Windows synchronous DNS resolutions by default, which means it has to wait for every resolution successively, regardless of how many tabs are concurrently loading, which will add a noticeable lag to their loading depending on the order they resolve new hosts. A proposed solution was to make this component asynchronous, for this Chrome needed to bypass the native DNS component of Windows, add one of its own, and thus open a few more UDP ports when needed.

That behaviour, in the top question, is due to the component being in development stage and thus will appear so, have many connections, being unrestricted and a resource waster. This was happening only if the user manually changed a flag in Chrome to activate this feature, usually reserved for developers or contributors. See "Obsolete answer" for an explanation on how to access on older versions of Chrome.

For the newer versions of Chrome, I can say for v43, this behaviour has been fixed, and now it uses fewer UDP ports depending on the number of unknown hosts it needs to resolve, otherwise it will use cached resolutions and have fewer opened ports.

As far as I can tell, current versions of Chrome don't have a flag for enabling it, it does exist and can be enabled through a switch on chrome.exe. By default, it's disabled.

Edit Chrome's shortcuts and add --enable-async-dns after the chrome.exe" target, separate them through a space. In Windows 7, for a pinned shortcut, right click the pin, in the tile menu right click the Google Chrome shortcut above the Unpin this program... option and access its properties, edit the Target there.

To find out if Asynchronous DNS is enabled, access chrome://net-internals/#dns and there should be a listing called Internal DNS client enabled: true or false

Obsolete answer (option exists in older versions, around 27):

Enter this in the address bar of Google Chrome:

chrome://flags/

Scroll down the list and make sure "Built-in Asynchronous DNS" is Disabled.

8
  • Welcome to Super User! Please add some more details for somebody not in the know. You should modify your original question to add additional information.
    – vonbrand
    Mar 31, 2013 at 23:13
  • @vonbrand: I don't think he's the question asker. By "I should have posted this as an answer" looks like he was referring to his previous comment above, which seems to have solved the issue. What I don't understand is, why didn't he use the same username and password he had already registered with, instead of creating a new user with the same name?
    – Karan
    Apr 1, 2013 at 23:06
  • @Karan, the email got somewhat malformed when I registered, and I could not access that account anymore. I've experimented with some password lockers and one made me some issues, it's not the only case when I typed my email and it got rewritten... thus I made a new account.
    – JasonXA
    Apr 3, 2013 at 1:23
  • 3
    Build-in asynchronous DNS is enabled per default ever since Chrome 26. Since I use a custom firewall, I was able to see all these port connections pop up after the Chrome update. However, I have not found any documentation as to why in the world asynchronous DNS wants to open up several dozen new ports. Do you have a clue? Apr 8, 2013 at 9:02
  • Thanks...I just got that you were the same person who posted the comment and have accepted your answer.
    – dgo
    Apr 10, 2013 at 1:03

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .