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.