Saya memiliki skrip shell yang digunakan netcat
untuk mendengarkan localhost
pada port 1111 untuk permintaan web. Setiap kali saya mencoba mengakses localhost:1111/index.html
misalnya saya mendapatkan:
invalid connection to [127.0.0.1] from localhost [127.0.0.1] 60038
angka di akhir (60038) tampaknya meningkat setiap kali saya mengakses localhost
.
Ada saran tentang apa yang salah? Dan apa default localhost
direktori itu? Di mana saya harus meletakkan index.html
sehingga itu localhost:1111/index.html
akan berhasil?
EDIT
inilah skrip lengkapnya:
#!/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
netcat
baris perintah Anda ? Apakah pesan 'koneksi tidak sah' berasal darinetcat
atau alat lain?Jawaban:
Skrip asli Anda mengharuskan koneksi berasal dari host yang bernama
localhost
, tetapi karena alasan tertentu pemfilteran gagal. Tidak biasa, karena cocok persis dengan nama yang tercantum dalam kesalahan:invalid connection to [127.0.0.1] from localhost [127.0.0.1] 60038
Perintah ini akan mendengarkan pada
localhost
antarmuka jaringan (dan akan mengabaikan permintaan dari antarmuka lain, seperti LAN Anda):Jika Anda ingin mendengarkan permintaan pada semua antarmuka, Anda dapat menghapus
-s
bagiannya sekaligus:Di sistem saya, jika saya ingin melakukan penyaringan host sumber yang sama tanpa
-s
, saya perlu menggunakan salah satu127.0.0.1
ataulocalhost.localdomain
:Bagaimanapun, salah satu dari opsi di atas akan bekerja untuk Anda:
sumber