শেল স্ক্রিপ্টে নেটকাট অবৈধ সংযোগ দিচ্ছে


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অন্য কোনও সরঞ্জাম থেকে আসছে ?
— এমআরবি

আমি স্রেফ পুরো স্ক্রিপ্ট যুক্ত করেছি। আমি নিশ্চিত না নেটকাট বার্তা দিচ্ছে কিনা, সেট হয়ে যেতে পারে। আমি নিশ্চিত কি সেট এমনকি এমনকি কি না!
— মিনাহানি

সেই লিপিটি শোনার দিক। আপনি কি ক্লায়েন্ট পাশ পোস্ট করতে পারেন?
— jw013

উত্তর:


6

আপনার মূল স্ক্রিপ্টটির প্রয়োজন যে সংযোগটি নামের একটি হোস্ট থেকে আসে localhostতবে কোনও কারণে ফিল্টারিং ব্যর্থ হয়। অস্বাভাবিক, কারণ এটি ত্রুটিতে তালিকাবদ্ধ নামের সাথে মেলে:invalid connection to [127.0.0.1] from localhost [127.0.0.1] 60038

এই কমান্ডটি localhostনেটওয়ার্ক ইন্টারফেসে শুনবে (এবং আপনার ল্যানের মতো অন্যান্য ইন্টারফেসের অনুরোধগুলি অগ্রাহ্য করবে):

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
$

অনেক ধন্যবাদ! লোকালহোস্টকে 127.0.0.1 এ পরিবর্তন করা ফায়ার ফক্সে কৌশলটি করেছে বলে মনে হয়েছিল। আমার অনুমান হিসাবে ক্রোম জিনিসগুলি হ্যান্ডল করে চলেছে।
— মিনাহানি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.