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


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.