유효하지 않은 연결을 제공하는 쉘 스크립트의 netcat


13

웹 요청을 위해 포트 1111 netcat에서 청취 하는 데 사용하는 쉘 스크립트가 localhost있습니다. localhost:1111/index.html예를 들어 액세스하려고 할 때마다 다음 과 같은 결과가 나타납니다.

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

내가 접근 할 때마다 끝에있는 숫자 (60038)가 증가하는 것 같습니다 localhost.

무엇이 잘못되었는지에 대한 제안? 그리고 default localhost디렉토리 는 무엇 입니까? index.html효과가 localhost:1111/index.html있을 수 있도록 어디에 넣어야 합니까?

편집하다

전체 스크립트는 다음과 같습니다.

#!/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명령 줄 을 게시 할 수 있습니까 ? '잘못된 연결'메시지가 netcat다른 도구에서 나왔습니까?
mrb

방금 전체 스크립트를 추가했습니다. netcat이 메시지를 제공하는지 잘 모르겠습니다. 설정되었을 수 있습니다. 그래도 세트가 무엇인지 잘 모르겠습니다!
MinaHany

그 대본은 듣는면입니다. 고객 쪽도 게시 할 수 있습니까?
jw013

답변:


6

원래 스크립트를 사용하려면이라는 호스트에서 연결을 가져와야 localhost하지만 어떤 이유로 필터링이 실패합니다. 오류에 나열된 이름과 정확히 일치하므로 비정상적입니다.invalid connection to [127.0.0.1] from localhost [127.0.0.1] 60038

이 명령은 localhost네트워크 인터페이스 에서 수신 대기하며 LAN과 같은 다른 인터페이스의 요청은 무시합니다.

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"
'

모든 인터페이스에서 요청을 수신하려면 -s파트를 모두 삭제하십시오 .

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

내 시스템에서없이 동일한 종류의 소스 호스트 필터링 -s을 수행하려면 127.0.0.1또는 중 하나를 사용해야합니다 localhost.localdomain.

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

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

어쨌든 위의 옵션 중 하나가 효과가 있습니다.

$ 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
$

고마워요! localhost를 127.0.0.1로 변경하면 firefox에서 트릭을 수행하는 것 같습니다. 크롬은 내가 생각하는 것과 다르게 처리하고 있습니다.
MinaHany
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.