मैं OSX माउंटेन लायन 10.8.3 पर हूं, और मैंने अपने मैक को नए सिरे से रीबूट किया है।
मैं एक सेवा शुरू करना चाहता हूं (जैसे पोर्ट 80 पर अपाचे), लेकिन पोर्ट 80 के साथ पहले से ही कुछ चल रहा है:
telnet localhost 80
Trying ::1...
Connected to localhost.
Escape character is '^]'.
रुकिए, मैं आपको यह कहते हुए सुनता हूं कि आप इसे lsof या netstat के साथ पा सकते हैं। सिवाय वहां कुछ भी नहीं है
netstat -an | grep LISTEN | grep '\.80'
*comes back blank*
lsof -i :80 | grep LISTEN
*comes back blank
तो मुझे यूनिक्स सिस्टम के बारे में क्या पता है, मुझे लगता है कि यह एक पैकेट फॉरवर्डिंग नियम होना चाहिए? Ie पैकेट को इनबाउंड पोर्ट 80 से कुछ और के लिए भेजा जा रहा है, जो उस सेवा पर सुन रहा है।
ipfw show
65535 0 0 allow ip from any to any
हम्म, वहाँ कुछ भी असामान्य नहीं है
pfctl -s nat
No ALTQ support in kernel
ALTQ related functions disabled
वहाँ कुछ भी असामान्य नहीं है
मेरा सवाल है, मैं किसी भी पैकेट अग्रेषण नियमों को कैसे प्रदर्शित कर सकता हूं ... लिनक्स पर मैं सिर्फ iptables -L -t NAT, या iptables -L कर सकता हूं। या वैकल्पिक रूप से, क्या कोई OSX विशेषज्ञ मुझे इस समस्या का निदान करने में मदद कर सकते हैं?
lsof
ग्रेप तुम वापस खाली आएगा इस्तेमाल किया; पोर्ट नंबरों को /etc/services
नाम से मैप किया जाता है। कोशिश करो lsof -i | grep http
...
-i :port
प्रारूप का उपयोग करते हैं, तो / etc / Services की मैपिंग कोई समस्या नहीं है , केवल अगर आप grep करते हैं। क्या समस्या होगीlsof
अन्य उपयोगकर्ताओं की प्रक्रियाओं को देखने के लिए रूट प्राइवेट की आवश्यकता होती है, इसलिए आपको इसका उपयोग करना चाहिए sudo lsof -i :80
(और मैं इसके बिना प्रयास करूंगा grep
, बस यह सुनिश्चित करने के लिए ...)
lsof -i :80
उस टेलनेट सत्र में जुड़े रहने के दौरान प्रयास किया था ? और http: // localhost / को आज़माने के अलावा , शायद उस टेलनेट प्रॉम्प्ट पर कुछ टाइप करने से कुछ पता चलता है ...? (फिर से, मुझे पता है: यहां तक कि अगर आप इसे इस तरह से समझ लेते हैं, तो यह आपके सवाल का जवाब नहीं होगा ...)