Я попробовал ss
команда для знания состояния sockets
в моей системе (человечность 14.10
),
$ ss
tcp ESTAB 0 0 192.168.1.10:51492 74.125.236.200:https
tcp ESTAB 0 0 192.168.1.10:45436 184.24.9.251:http
tcp ESTAB 0 0 192.168.1.10:33349 74.125.236.68:https
tcp ESTAB 0 0 192.168.1.10:45285 74.125.236.34:https
tcp ESTAB 0 0 192.168.1.10:52029 74.125.169.216:https
tcp ESTAB 0 0 192.168.1.10:49125 184.24.9.251:https
tcp ESTAB 0 0 192.168.1.10:49340 74.125.68.94:https
tcp ESTAB 0 0 192.168.1.10:47748 74.125.236.65:https
tcp ESTAB 0 0 192.168.1.10:32845 199.59.150.46:https
tcp ESTAB 0 0 192.168.1.10:34511 103.20.92.129:https
tcp ESTAB 0 0 192.168.1.10:43233 74.125.200.188:5228
tcp ESTAB 0 0 192.168.1.10:52208 74.125.169.216:https
tcp ESTAB 0 0 192.168.1.10:41742 184.87.213.124:http
tcp ESTAB 0 0 192.168.1.10:43939 74.125.68.147:https
tcp ESTAB 0 0 192.168.1.10:36935 74.125.236.90:http
tcp ESTAB 0 0 192.168.1.10:48165 74.125.236.33:https
tcp ESTAB 0 0 192.168.1.10:41456 74.125.236.34:http
tcp ESTAB 0 0 192.168.1.10:40549 74.125.236.90:https
tcp ESTAB 0 0 192.168.1.10:37934 122.175.190.8:http
tcp ESTAB 0 0 192.168.1.10:44557 31.13.79.112:https
tcp ESTAB 0 0 192.168.1.10:49879 74.125.236.43:https
tcp ESTAB 0 0 192.168.1.10:54648 23.34.240.214:http
tcp ESTAB 0 0 192.168.1.10:60101 74.125.236.67:https
tcp ESTAB 0 0 192.168.1.10:60836 108.160.165.173:http
и здесь в одном из вывода я добрался
tcp ESTAB 0 0 192.168.1.10:43233 74.125.200.188:5228
затем я попробовал nslookup
, Я добрался
anupam@JAZZ:~$ nslookup 74.125.200.188
Server: 127.0.1.1
Address: 127.0.1.1#53
Non-authoritative answer:
188.200.125.74.in-addr.arpa name = sa-in-f188.1e100.net.
Authoritative answers can be found from:
Я не добираюсь 188.200.125.74.in-addr.arpa name = sa-in-f188.1e100.net
.part здесь,
затем я попробовал netstat
знать PID, связанный с этим..
$ netstat -natp
tcp 0 0 192.168.1.10:60081 74.125.236.73:443 ESTABLISHED 5141/chromium-brows
tcp 0 0 192.168.1.10:54746 74.125.236.199:80 ESTABLISHED 5141/chromium-brows
tcp 0 0 192.168.1.10:32845 199.59.150.46:443 ESTABLISHED 5141/chromium-brows
tcp 0 0 192.168.1.10:55852 74.125.236.67:80 ESTABLISHED 5141/chromium-brows
tcp 0 0 192.168.1.10:43119 198.252.206.25:443 ESTABLISHED 5141/chromium-brows
tcp 0 0 192.168.1.10:43233 74.125.200.188:5228 ESTABLISHED 5141/chromium-brows
tcp 0 0 192.168.1.10:41044 74.125.130.104:443 ESTABLISHED 5141/chromium-brows
tcp 0 0 192.168.1.10:56479 74.125.236.196:443 ESTABLISHED 5141/chromium-brows
tcp 0 0 192.168.1.10:48165 74.125.236.33:443 ESTABLISHED 5141/chromium-brows
tcp 0 0 192.168.1.10:35692 74.125.236.74:443 ESTABLISHED 5141/chromium-brows
tcp 0 0 192.168.1.10:60101 74.125.236.67:443 ESTABLISHED 5141/chromium-brows
tcp 0 0 192.168.1.10:60836 108.160.165.173:80 ESTABLISHED 2919/dropbox
tcp 0 0 192.168.1.10:52425 74.125.236.201:443 ESTABLISHED 5141/chromium-brows
tcp 0 0 192.168.1.10:60058 74.125.236.73:443 ESTABLISHED 5141/chromium-brows
tcp 0 0 192.168.1.10:40360 74.125.130.94:443 ESTABLISHED 5141/chromium-brows
Здесь я нашел, что Это был поток PID
5141
, в chromium
браузер,
Мой вопрос состоит в том, поскольку браузеры являются просто пользовательским интерфейсом для http
или https
реализация протокола для обмена страницами HTML, как любой поток его может использовать порт никто другой, чем 80
или 443
..(43233
здесь)??
существует 2 порта: исходный порт (браузер) и целевой порт (сервер). Браузер просит у ОС доступный исходный порт (скажем, это получает 33123 ), тогда делает сокетное соединение с целевым портом (обычно 80/HTTP , 443/HTTPS ).
, Когда веб-сервер получает ответ, он отправляет ответ, который имеет 80 как исходный порт и 33123 как целевой порт.
Поэтому, если бы у Вас есть 2 браузера, одновременно получающие доступ к stackoverflow.com, у Вас было бы что-то вроде этого:
Firefox (localhost:33123) <-----------> stackoverflow.com (69.59.196.211:80) Chrome (localhost:33124) <-----------> stackoverflow.com (69.59.196.211:80)
Я только что проверил исходный код версии Chrome-браузера 65.0.3325.181-0ubuntu1.debian
.
# google_apis/gcm/engine/gservices_settings.cc
const char kDefaultCheckinURL[] = "https://android.clients.google.com/checkin";
const char kDefaultMCSHostname[] = "mtalk.google.com";
const int kDefaultMCSMainSecurePort = 5228;
const int kDefaultMCSFallbackSecurePort = 443;
// ...
GURL GServicesSettings::GetMCSMainEndpoint() const {
// ...
return GURL(MakeMCSEndpoint(kDefaultMCSHostname, kDefaultMCSMainSecurePort));
}
Похоже, Chrome подключается к некоторым службам Google через порт 5228.