kabuk bağlantısında netcat geçersiz bağlantı veriyor


13

Web istekleri için 1111 numaralı bağlantı noktasında netcatdinlemek için kullanılan bir kabuk komut dosyası var localhost. localhost:1111/index.htmlÖrneğin her erişmeye çalıştığımda :

invalid connection to [127.0.0.1] from localhost [127.0.0.1] 60038

her eriştiğimde sondaki sayı (60038) artıyor gibi görünüyor localhost.

Neyin yanlış gittiğine dair herhangi bir öneriniz var mı? Peki default localhostdizin nedir? Nerede bir koymalıyız index.htmlki localhost:1111/index.htmlçalışacak?

DÜZENLE

İşte tam komut dosyası:

#!/bin/sh
while true
do
netcat -vvl localhost -p 1111 -c '
    set -x
    read http_request
    echo HTTP/1.0 200 OK
    echo
    echo "Received HTTP request: $http_request"
'   
done

Sondaki sayı, rastgele seçilen kaynak bağlantı noktasıdır; tarayıcınız tarafından giden isteği açmak için kullanılan bağlantı noktasıdır. Endişelenme. netcatKomut satırınızı gönderebilir misiniz ? 'Geçersiz bağlantı' mesajı netcatmı yoksa başka bir araçtan mı geliyor ?
— mrb

Komut dosyasının tamamını ekledim. Netcat'in mesajı verip vermediğinden emin değilim, ayarlanmış olabilir. Ne set olsa bile emin değilim!
— MinaHany

Bu senaryo dinleme tarafı. Ayrıca müşteri tarafını da gönderebilir misiniz?
— jw013

Yanıtlar:


6

Orijinal komut dosyanız, bağlantının adlı bir ana bilgisayardan gelmesini gerektirir localhost, ancak bazı nedenlerden dolayı filtreleme başarısız olur. Hatalı olarak listelenen adla tam olarak eşleştiği için olağandışı:invalid connection to [127.0.0.1] from localhost [127.0.0.1] 60038

Bu komut localhostağ arabirimini dinler (ve LAN'ınız gibi diğer arabirimlerden gelen istekleri yoksayar):

netcat -vvl -s localhost -p 1111 -c '
    set -x
    read http_request
    echo HTTP/1.0 200 OK
    echo
    echo "Received HTTP request: $http_request"
'

Tüm arabirimlerdeki istekleri dinlemek istiyorsanız, -sparçayı tamamen bırakabilirsiniz :

netcat -vvl -p 1111 -c '...'

Ben kaynak konağın aynı tür olmaksızın filtreleme yapmak istiyorsanız benim sistemde, -sBen de kullanmak gerekir 127.0.0.1ya localhost.localdomain:

netcat -vvl localhost.localdomain -p 1111 -c '...'

netcat -vvl 127.0.0.1 -p 1111 -c '...'

Her durumda, yukarıdaki seçeneklerden biri sizin için çalışmalıdır:

$ netcat -vvl 127.0.0.1 -p 1111 -c '
quote>     set -x
quote>     read http_request
quote>     echo HTTP/1.0 200 OK
quote>     echo
quote>     echo "Received HTTP request: $http_request"
quote> '
listening on [any] 1111 ...
connect to [127.0.0.1] from localhost.localdomain [127.0.0.1] 35368
+ read http_request
+ echo HTTP/1.0 200 OK
+ echo
+ echo Received HTTP request: GET / HTTP/1.1
$

Çok teşekkürler! localhost'un 127.0.0.1 olarak değiştirilmesi firefox'ta hile yapıyor gibiydi. Chrome her şeyi farklı ele alıyor sanırım.
— MinaHany
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.