
Из любопытства я запустил Netstat
свой ПК с Windows и обнаружил несколько странных записей, например:
xx-fbcdn-shv-01-amt2:https
edge-star-mini-shv-01-frt3:https
mil04s03-in-f10:https
xx-fbcdn-shv-01-amt2:https
fra16s25-in-f14:https
lu7:http
40:https
mil04s04-in-f12:https
wb-in-f188:https
ec2-52-86-85-106:https
db5sch101101419:https
bam-6:https
Что это такое/как я могу это определить?
решение1
Более полезную информацию вы можете получить изНетстаткоманду, добавив параметры -f
и -b
, например:
netstat -f -b
Согласно справке ( netstat -?
) -f
переключатель:
Отображает полностью квалифицированные доменные имена (FQDN) для иностранных адресов.
И -b
переключатель:
Отображает исполняемый файл, участвующий в создании каждого соединения или прослушивающего порта. В некоторых случаях известные исполняемые файлы размещают несколько независимых компонентов, и в этих случаях отображается последовательность компонентов, участвующих в создании соединения или прослушивающего порта. В этом случае имя исполняемого файла находится в [] внизу, сверху — вызываемый им компонент и так далее, пока не будет достигнут TCP/IP. Обратите внимание, что этот параметр может занять много времени и не сможет работать, если у вас нет достаточных разрешений.
Объедините эти два параметра, и вы увидите, какие процессы создают каждое соединение, а также полное имя удаленного хоста.
Для помощи в исследовании исполняемых файлов (и соединений, которые они создают) используйте MicrosoftОбозреватель процессов. При запуске программы вам будет представлен список всего, что запущено в вашей системе, например:
Затем, чтобы увидеть соединения, созданные исполняемым файлом, дважды щелкните по нему и посмотрите наTCP/IPвкладка:
решение2
В большинстве случаев другие ответы проясняют это достаточно хорошо, но я хотел бы подробнее остановиться на этом 40
случае — например, показать запись, которая состоит всего из нескольких цифр и ничего больше, ничего алфавитного.
Для меня странным было то, что записи отображались только как одно десятичное число. Не совсем очевидно, что это такое, и это не то, что легко найти в Google. У меня есть жизненный опыт работы в сети, и это все еще меня устраивало.
Например, у меня была такая запись:
Active Connections
Proto Local Address Foreign Address State
TCP 10.10.10.10:7890 38:https ESTABLISHED
Побежав netstat -n
, чтобы показать IP, я понял, что это был один из моих собственных серверов GCP - что заставило меня еще больше задуматься о том, что происходит, думая, что, возможно, обратный DNS или даже один из моих DNS-серверов, или что-то было настроено неправильно или что-то еще. Обратный DNS выглядел нормально, хотя он должен был щелкнуть, как только я увидел обратный DNS.
Я уже изучал этот вопрос раньше, но не помню, пришел ли я к удовлетворительному ответу, поэтому, когда я увидел это сегодня, я наткнулся на эту ветку и также попробовал -f
— вот тогда меня осенило!
С -f
показанным (фактический IP-адрес изменен):
TCP 10.10.10.10:7890 38.255.255.255.bc.googleusercontent.com
Aha! 38
— это первая часть поддомена, и довольно часто имя hostname
системы считается первой частью, например, для myfileserver.westoffice.mycompany.com
имени хоста это будет myfileserver
.
В этом случае GCP возвращает значение 38.255.255.255.bc.googleusercontent.com
для обратного поиска DNS, Windows netstat
следует этому обычному соглашению, считая 38
его именем хоста машины и, таким образом, отображая его только 38
в списке.
Теперь мне любопытно/подозреваю, является ли это причиной, по которой AWS использует -
(например, имя хоста AWS, подобное этому ec2-54-255-255-255.compute-1.amazonaws.com
) в своих автоматически сгенерированных именах хостов вместо , .
которое использует GCP.
Для тех, кто разбирается в сетевых технологиях, но при этом параноидально настроен, такой список почти сразу же заставляет задуматься.
Даже если вы не указали -n
отображение IP-адресов, любое соединение, которое netstat
не проходит обратный поиск DNS, будет показано как числовой IP-адрес, поэтому вы не можете быть на 100% уверены, что смотрите только на часть имени DNS, а не на часть IP-адреса (хотя имя DNS в этом случае содержит IP-адрес, на который оно указывает, технически оно все равно отображается здесь как имя DNS).
Кроме того, IP-адреса не обязательно должны быть представлены в x.x.x.x
определенном формате; например, 1.1.1.1
DNS-сервер CloudFlare также может быть представлен как 16843009
, любой IP-адрес, содержащий 0
часть , может быть отброшен, например, 10.0.0.1
и 10.1
эквивалентны и т. д. Так 38
вотмогтехнически быть 0.0.0.38
, что, очевидно, является непригодным для использования IP-адресом.
Если 38
в вашем файле hosts есть запись, указывающая на определенный IP-адрес, это также может отображаться netstat
следующим образом.
Один из записей OP действительно был 40
и должен был стать жертвой этого. Все остальные адреса, перечисленные OP, не заставили бы меня задуматься, но один только номер — это немного уникальный случай.
Я виню Google/GCP за то, что они используют свои автоматические имена хостов/обратную настройку DNS .
вместо -
или иначе. Он игнорирует по крайней мере такие же старые, как и веб, если не старше, относительно DNS и имен хостов определенных машин/сервисов.
Я также виню реализацию Microsoft netstat
за то, что она в целом предполагает, что это соглашение всегда соблюдается, особенно в общедоступном Интернете. Я бы, возможно, обрезал домен до длины поля, все -f
еще позволяя показывать полный домен, вместо того, чтобы предполагать, что первый поддомен всегда является именем хоста, и обрезать его на первом .
— это то, что, похоже, делает версия netstat
Ubuntu в Linux и избегает этой путаницы, в любом случае обратный поиск DNS все еще происходит. Если вам действительно нужно/хотелось просто видеть первую часть как имя хоста, то, возможно, добавьте опцию -h
для этого или что-то в этом роде.
Я также, возможно, виню стандарт DNS за то, что он не запрещает использовать цифры в качестве первого символа поддомена; хотя это понятно, поскольку DNS работает так, что домены и поддомены на самом деле не обрабатываются по-разному, поэтому, если бы это было правилом при первоначальном проектировании DNS, вы бы не смогли использовать 123plumbing.com
доменное имя.
решение3
Вы отметили, что «ec2-52-86-85-106 оказался 52.86.85.106, что является Amazon, хотя я не был к нему подключен».обратный DNS-поискна возвращаемом IP-адресе ec2-52-86-85-106.compute-1.amazonaws.com
, т.е. это полное доменное имя (FQDN), которое будет возвращено, поскольку естьPTR DNS-записькоторый связывает это FQDN с этим IP-адресом. Но вы могли бы получить доступ к www.example.com в вашем веб-браузере, и доменное имя example.com могло бы иметьЗапись ресурса DNSкоторый связывает это полное доменное имя с IP-адресом 52.86.85.106.Блок адресов от 52.84.0.0 до 52.95.255.255назначен AmazonАмериканский реестр интернет-номеров. Amazon использует его для своегоВеб-сервисы Amazon (AWS).
Допустим, я покупаю доменное имя example.com урегистратор доменных имен. Теперь я хочу разместить свой сайт на www.example.com и решил использовать AWS для размещения своего сайта. Я настраиваюДНСсерверы для моего доменного имени, чтобы указать на IP-адрес, который AWS предоставила мне для сервера, на котором размещен мой сайт. Допустим, этот адрес 52.86.85.106. Так что если вы введете www.example.com в своем веб-браузере, ваша система подключится к 52.86.85.106. Но теперь вы вводите команду netstat в своей системе. Вы видите подключение к 52.86.85.106, если вы используете netstat -an
или вы видите ec2-52-86-85-106
, если вы опускаете n
аргумент команды. Поэтому это может быть неочевидно для вас, если вы не вводитеnslookupкоманда на www.example.com, что подключение вашего браузера к моему сайту является причиной того, что вы видите ec2-52-86-85-106
в результатах отнетстатотданный вами приказ.
Что касается 1e100.net
доменного имени, упомянутого вами в другом комментарии, как вы обнаружили, домен 1e100.net
принадлежит Google. 1e100 — это научная запись числа 1гугол, т.е. 1возведенный в степеньиз 100, что равно 1 и ста нулям. Google использует доменное имя для своих серверов. Если вы недавно заходили наGmailили выполнили поиск с помощью google.com с помощью браузера в вашей системе, вы можете увидеть это доменное имя в результатах.
Другойопция команды netstatкоторый -o
покажет вамидентификатор процесса (PID)процесса, который установил соединение. Затем вы можете использоватьДиспетчер задач Windowsчтобы связать PID с приложением, которое вы запускаете, например, Chrome, Firefox, Microsoft Edge и т. д.,щелкните вкладку «Подробности» в диспетчере задач, чтобы увидеть PID.
решение4
Посмотрите на мой, я подвергался целенаправленной атаке хакеров последние 2-3 года. Нет, я обнаружил, что один из них связан с китайским трояном и т. д. Я просто блокирую их, удаляю. Или настраиваю honeypot/sandbox, как kali linux, и отменяю атаку. введите описание изображения здесь