5

Возможный дубликат:
Как найти exe прослушивания по порту?
Что использует порт 80?

Мне нужно настроить созданный локальный веб-сервер и привязать его к 127.0.0.1:80. Тем не менее, я не могу понять, что использует порт 80 этого ноутбука. У меня установлен IIS, но я его уже отключил. Однако теперь вместо обычной страницы приветствия IIS, которую я не изменил, при переходе к 127.0.0.1 в моем браузере я получаю следующее:

Даже если я зайду в каталоги сайтов, которые я настроил в IIS ранее, эта ошибка все равно будет отображаться, что подтверждает мое убеждение, что я успешно отключил IIS. Я искал вокруг и нашел эту ветку SU и попробовал netstat -o . Но, как вы можете видеть ниже, нет никакого PID, связанного с портом 80, который сбивает меня с толку еще больше.

Я также попытался использовать netstat -ab -p tcp -n но он выдает ошибку. Смотрите изображение ниже.

Так что да, у меня нет идей. Может кто-нибудь помочь мне разобраться, что использует порт 80? А также, почему кажется, что работает призрачный веб-сервер? Я уже проверил Process Explorer и XAMPP тоже не работает. На самом деле, я не вижу ничего похожего на веб-сервер в списке процессов. Я могу лично идентифицировать большинство запущенных процессов, таких как Google Music Manager, iTunes Helper и т.д.

Это на 32-битной установке Windows 7.

2 ответа2

4

IIS не прослушивает HTTP-запросы напрямую в современных версиях Windows. Скорее ядро HTTP делается драйвером http.sys . Вы можете получить список текущих настроенных адресов / портов / URL-адресов с помощью команды

netsh http show servicestate

Если для URL / ничего не настроено, то http.sys сгенерирует ответ 404 NOT FOUND, а не предоставит какое-либо конкретное приложение или службу.

2

Конкретное решение этой проблемы:

Остановите SQL Server или любые другие веб-службы или связанные службы IIS (например, "Службы отчетов SQL Server" - см. Ответ OP в комментариях ниже), которые могут работать. Проверьте работающие службы, используя 2 или 3 ниже. Также проверьте комментарии, чтобы узнать, как мы их устраняем более подробно.

Я также лично рекомендую использовать виртуальную машину с платформой LAMP, а затем с платформой типа WAMP непосредственно на вашем компьютере для разработки.

Если вы устраняете подобную проблему, попробуйте выполнить следующие действия.

Здесь нет точного решения, но оно может помочь, ответить, и я буду обновлять по мере продвижения:

  1. Захват сетевого трафика:

    Скачайте wireshark, установите и запустите его. Выберите сетевой интерфейс и начните захват трафика. Откройте браузер и загрузите локальный сайт. Даже если он находится на локальном интерфейсе, Wireshark все равно должен его захватить. Если вы посмотрите все различные поля фактического HTTP-ответа, вы можете найти имя приложения, указанное на сервере, или некоторые другие подсказки, которые могут помочь вам определить, какой сервер предоставляет эту веб-страницу. В HTTP-трафике вы могли бы определить имя сервера, смотрите эту запись в Википедии: список заголовков HTTP, особенно в поле "сервер".

    Обновление: согласно комментарию Скотта Чемберлена ниже, захват Windows с локального хоста с помощью Wireshark может быть болезненным (но вот как это сделать в соответствии с его комментарием). В качестве альтернативы см. 5 ниже. Вместо этого может быть удобнее работать с прокси-инструментом, таким как Fiddler, Paros Proxy, Burp Proxy и т.д., Который позволит вам перехватывать трафик в обоих направлениях для чтения необработанного HTTP.

  2. Монитор процесса

    Вы пробовали Process Explorer, но Process Monitor от sysinternals может быть немного более полезным в этом случае. Это покажет вам файлы, прочитанные во время вашей деятельности. Что-то должно было отвечать.

  3. Запущенные процессы

    Похоже, вы уже просмотрели некоторые запущенные процессы, но вы проверили все запущенные сервисы? Вы можете получить информацию о запущенных сервисах, используя любую из следующих опций

    • В меню "Пуск" введите «services.msc» и исследуйте графически
    • В командной строке введите «tasklist /svc»
    • В командной строке введите "net start"
  4. Используйте средство диагностики http: wfetch от Microsoft

    Этот инструмент может помочь вам справиться с необработанными соединениями и может быть немного проще, чем при использовании wireshark, как указано выше, но он выполняет ту же цель: выяснить, какая информация возвращается в необработанном HTTP-трафике.

  5. Использование инструментов разработчика в Chrome Вот скриншот того, о чем я говорю ниже в комментариях: Пример сетевой фильтрации с помощью Chrome Developer Tools

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .