
Iptables Essentials: सामान्य फ़ायरवॉल नियम और कमांड्स।
:small_orange_diamond: Shorewall - GNU/Linux के लिए उन्नत गेटवे/फ़ायरवॉल कॉन्फ़िगरेशन उपकरण।
:small_orange_diamond: Firewalld - गतिशील रूप से प्रबंधित फ़ायरवॉल प्रदान करता है।
:small_orange_diamond: UFW - Ubuntu के लिए डिफ़ॉल्ट फ़ायरवॉल कॉन्फ़िगरेशन उपकरण।
:small_orange_diamond: FireHOL - सभी Linux फ़ायरवॉल और ट्रैफ़िक शेपिंग आवश्यकताओं के लिए सरल और शक्तिशाली कॉन्फ़िगरेशन प्रदान करता है।
:small_orange_diamond: सर्वोत्तम अभ्यास: iptables - Major Hayden द्वारा
:small_orange_diamond: Iptables, Linux फ़ायरवॉल के लिए गहन गाइड
:small_orange_diamond: netfilter/iptables की उन्नत सुविधाएँ
:small_orange_diamond: iptables का उपयोग करके Linux फ़ायरवॉल
:small_orange_diamond: iptables डीबग करना और सामान्य फ़ायरवॉल समस्याएँ?
:small_orange_diamond: Netfilter हैकिंग HOWTO
:small_orange_diamond: iptables के साथ प्रति-IP दर सीमित करना
रूटिंग ट्राइएंगुलेशन अक्षम करें। उसी इंटरफ़ेस पर प्रश्नों का उत्तर दें, दूसरे पर नहीं। IP स्पूफ़िंग से भी बचाता है।```bash cat << EOF >> /etc/sysctl.d/40-custom.conf net/ipv4/conf/all/rp_filter = 1 EOF
- [rp_filter और LPIC-3 लिनक्स सुरक्षा](https://www.theurbanpenguin.com/rp_filter-and-lpic-3-linux-security/)
- [लिनक्स कर्नेल rp_filter सेटिंग्स (रिवर्स पथ फ़िल्टरिंग)](https://www.slashroot.in/linux-kernel-rpfilter-settings-reverse-path-filtering)
- [रिवर्स पथ फ़िल्टरिंग](http://tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.kernel.rpf.html)
##### log_martians
> _गलत आईपी पतों वाले पैकेटों की लॉगिंग सक्षम करें।_```bash
cat << EOF >> /etc/sysctl.d/40-custom.conf
net/ipv4/conf/all/log_martians = 1
EOF
सभी इंटरफ़ेस पर सभी IPv4 ICMP पुनर्निर्देशित पैकेट भेजने को अक्षम करता है।```bash cat << EOF >> /etc/sysctl.d/40-custom.conf net/ipv4/conf/all/send_redirects = 0 EOF
- [स्रोत रूटिंग अक्षम करें](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/security_guide/sect-security_guide-server_security-disable-source-routing)
- [ICMP रीडायरेक्ट क्या हैं और क्या उन्हें ब्लॉक किया जाना चाहिए?](https://askubuntu.com/questions/118273/what-are-icmp-redirects-and-should-they-be-blocked)
##### accept_source_route
> _स्रोत रूटेड पैकेट (स्ट्रिक्ट सोर्स रूट (SSR) या लूज़ सोर्स रूटिंग (LSR) विकल्प सेट वाले पैकेट) अक्षम करें।_```bash
cat << EOF >> /etc/sysctl.d/40-custom.conf
net/ipv4/conf/all/accept_source_route = 0
EOF
ICMP रीडायरेक्ट की स्वीकृति अक्षम करें।```bash cat << EOF >> /etc/sysctl.d/40-custom.conf net/ipv4/conf/all/accept_redirects = 0 EOF
- [ICMP रीडायरेक्ट क्या हैं और क्या उन्हें ब्लॉक किया जाना चाहिए?](https://askubuntu.com/questions/118273/what-are-icmp-redirects-and-should-they-be-blocked)
- [Red Hat Enterprise Linux ऑपरेटिंग सिस्टम को इंटरनेट प्रोटोकॉल संस्करण 4 (IPv4) इंटरनेट कंट्रोल मैसेज प्रोटोकॉल (ICMP) रीडायरेक्ट संदेशों को अनदेखा करना चाहिए।](https://www.stigviewer.com/stig/red_hat_enterprise_linux_7/2018-11-28/finding/V-73175)
##### tcp_syncookies
> _SYN-फ्लड सुरक्षा चालू करें (सेवा अस्वीकृति (DOS) हमलों से सुरक्षा)।_```bash
cat << EOF >> /etc/sysctl.d/40-custom.conf
net/ipv4/tcp_syncookies = 1
EOF
पिंग प्रसारणों का उत्तर देना अक्षम करें।```bash cat << EOF >> /etc/sysctl.d/40-custom.conf net/ipv4/icmp_echo_ignore_broadcasts = 1 EOF
- [ICMP प्रसारण किस लिए अच्छा है?](https://superuser.com/questions/306065/what-is-icmp-broadcast-good-for)
- [सिस्टम को प्रसारण पते पर भेजे गए ICMPv4 का जवाब नहीं देना चाहिए।](https://www.stigviewer.com/stig/red_hat_enterprise_linux_6/2018-11-28/finding/V-38535)
##### ip_forward
> _IP रूटिंग सक्षम करें। आवश्यक है यदि आपका फ़ायरवॉल किसी नेटवर्क की सुरक्षा कर रहा है, NAT सहित।_```bash
cat << EOF >> /etc/sysctl.d/40-custom.conf
net/ipv4/ip_forward = 1
EOF
netfilter-persistent save
###### RedHat आधारित```bash
service iptables save
iptables -n -L -v
#### सभी सक्रिय iptables नियमों को numeric lines और verbose के साथ सूचीबद्ध करें```bash
iptables -n -L -v --line-numbers
iptables -S
#### INPUT चेन के लिए तालिकाओं के रूप में नियम सूचीबद्ध करें```bash
iptables -L INPUT
iptables -S INPUT
#### पैकेट गणना और कुल आकार दिखाएँ```bash
iptables -L INPUT -v
iptables -L INPUT -n -v iptables -L OUTPUT -n -v --line-numbers
#### Chain और Number द्वारा नियम हटाएँ```bash
iptables -D INPUT 10
iptables -D INPUT -m conntrack --ctstate INVALID -j DROP
#### सभी नियमों को फ्लश करें, सभी श्रृंखलाएं हटाएं, और सभी को स्वीकार करें```bash
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -t nat -F
iptables -t mangle -F
iptables -F
iptables -X
iptables -F
#### एकल श्रृंखला को फ्लश करें```bash
iptables -F INPUT
iptables -I INPUT 2 -s 202.54.1.2 -j DROP
#### लूपबैक कनेक्शन की अनुमति दें```bash
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
#### स्थापित बाहरी कनेक्शनों की अनुमति दें```bash
iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
#### अमान्य पैकेट छोड़ें```bash
iptables -A INPUT -m conntrack --ctstate INVALID -j DROP
iptables -A INPUT -s 192.168.252.10 -j DROP
#### ब्लॉक और IP पता और अस्वीकार करें```bash
iptables -A INPUT -s 192.168.252.10 -j REJECT
iptables -A INPUT -i eth0 -s 192.168.252.10 -j DROP
#### सभी आने वाले SSH की अनुमति दें```bash
iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -s 192.168.240.0/24 --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT
#### आउटगोइंग SSH की अनुमति दें```bash
iptables -A OUTPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -s 192.168.240.0/24 --dport 873 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp --sport 873 -m conntrack --ctstate ESTABLISHED -j ACCEPT
#### सभी आने वाले HTTP की अनुमति दें```bash
iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp --sport 443 -m conntrack --ctstate ESTABLISHED -j ACCEPT
#### सभी आने वाले HTTP और HTTPS को अनुमति दें```bash
iptables -A INPUT -p tcp -m multiport --dports 80,443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -m multiport --dports 80,443 -m conntrack --ctstate ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -s 192.168.240.0/24 --dport 3306 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp --sport 3306 -m conntrack --ctstate ESTABLISHED -j ACCEPT
#### MySQL को विशिष्ट नेटवर्क इंटरफ़ेस तक अनुमति दें```bash
iptables -A INPUT -i eth1 -p tcp --dport 3306 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth1 -p tcp --sport 3306 -m conntrack --ctstate ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -s 192.168.240.0/24 --dport 5432 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp --sport 5432 -m conntrack --ctstate ESTABLISHED -j ACCEPT
#### PostgreSQL को विशिष्ट नेटवर्क इंटरफ़ेस की अनुमति दें```bash
iptables -A INPUT -i eth1 -p tcp --dport 5432 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth1 -p tcp --sport 5432 -m conntrack --ctstate ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --dport 25 -j REJECT
#### सभी आने वाले SMTP की अनुमति दें```bash
iptables -A INPUT -p tcp --dport 25 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 25 -m conntrack --ctstate ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --dport 143 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp --sport 143 -m conntrack --ctstate ESTABLISHED -j ACCEPT
#### सभी आने वाले IMAPS की अनुमति दें```bash
iptables -A INPUT -p tcp --dport 993 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 993 -m conntrack --ctstate ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --dport 110 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp --sport 110 -m conntrack --ctstate ESTABLISHED -j ACCEPT
#### सभी आने वाले POP3S को अनुमति दें```bash
iptables -A INPUT -p tcp --dport 995 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 995 -m conntrack --ctstate ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth1 -s 192.168.0.0/24 -j DROP iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP
#### फेसबुक नेटवर्क्स के लिए सभी आउटगोइंग ट्रैफ़िक को ब्लॉक करें
फेसबुक AS प्राप्त करें:```bash
whois -h v4.whois.cymru.com " -v $(host facebook.com | grep "has address" | cut -d " " -f4)" | tail -n1 | awk '{print $1}'
Drop:```bash for i in $(whois -h whois.radb.net -- '-i origin AS32934' | grep "^route:" | cut -d ":" -f2 | sed -e 's/^[ \t]*//' | sort -n -t . -k 1,1 -k 2,2 -k 3,3 -k 4,4 | cut -d ":" -f2 | sed 's/$/;/') ; do
iptables -A OUTPUT -s "$i" -j REJECT
done
#### पैकेट लॉग और ड्रॉप करें```bash
iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j LOG --log-prefix "IP_SPOOF A: "
iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP
डिफ़ॉल्ट रूप से सब कुछ /var/log/messages फ़ाइल में लॉग किया जाता है:```bash
tail -f /var/log/messages
grep --color 'IP SPOOF' /var/log/messages
#### सीमित संख्या में लॉग प्रविष्टियों के साथ पैकेट को लॉग और ड्रॉप करें```bash
iptables -A INPUT -i eth1 -s 10.0.0.0/8 -m limit --limit 5/m --limit-burst 7 -j LOG --log-prefix "IP_SPOOF A: "
iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP
iptables -A INPUT -m mac --mac-source 00:0F:EA:91:04:08 -j DROP iptables -A INPUT -p tcp --destination-port 22 -m mac --mac-source 00:0F:EA:91:04:07 -j ACCEPT
#### ICMP पिंग अनुरोध को ब्लॉक या अनुमति दें```bash
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
iptables -A INPUT -i eth1 -p icmp --icmp-type echo-request -j DROP
multiport के साथ कई पोर्ट निर्दिष्ट करना```bashiptables -A INPUT -i eth0 -p tcp -m state --state NEW -m multiport --dports ssh,smtp,http,https -j ACCEPT
#### `random*` या `nth*` के साथ लोड बैलेंसिंग```bash
_ips=("172.31.250.10" "172.31.250.11" "172.31.250.12" "172.31.250.13")
for ip in "${_ips[@]}" ; do
iptables -A PREROUTING -i eth0 -p tcp --dport 80 -m state --state NEW -m nth --counter 0 --every 4 --packet 0 \
-j DNAT --to-destination ${ip}:80
done
या```bash _ips=("172.31.250.10" "172.31.250.11" "172.31.250.12" "172.31.250.13")
for ip in "${_ips[@]}" ; do
iptables -A PREROUTING -i eth0 -p tcp --dport 80 -m state --state NEW -m random --average 25
-j DNAT --to-destination ${ip}:80
done
#### `limit` और `iplimit*` के साथ कनेक्शनों की संख्या को प्रतिबंधित करना```bash
iptables -A FORWARD -m state --state NEW -p tcp -m multiport --dport http,https -o eth0 -i eth1 \
-m limit --limit 20/hour --limit-burst 5 -j ACCEPT
या```bash iptables -A INPUT -p tcp -m state --state NEW --dport http -m iplimit --iplimit-above 5 -j DROP
#### हाल ही के कनेक्शनों की सूची बनाए रखना ताकि उनसे मिलान किया जा सके```bash
iptables -A FORWARD -m recent --name portscan --rcheck --seconds 100 -j DROP
iptables -A FORWARD -p tcp -i eth0 --dport 443 -m recent --name portscan --set -j DROP
string* के विरुद्ध मिलान करना```bashiptables -A FORWARD -m string --string '.com' -j DROP iptables -A FORWARD -m string --string '.exe' -j DROP
#### समय-आधारित नियम `time*` के साथ```bash
iptables -A FORWARD -p tcp -m multiport --dport http,https -o eth0 -i eth1 \
-m time --timestart 21:30 --timestop 22:30 --days Mon,Tue,Wed,Thu,Fri -j ACCEPT
iptables -A INPUT -s 1.2.3.4 -m ttl --ttl-lt 40 -j REJECT
#### पोर्ट स्कैनिंग से सुरक्षा```bash
iptables -N port-scanning
iptables -A port-scanning -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s --limit-burst 2 -j RETURN
iptables -A port-scanning -j DROP
iptables -A INPUT -p tcp --dport ssh -m conntrack --ctstate NEW -m recent --set iptables -A INPUT -p tcp --dport ssh -m conntrack --ctstate NEW -m recent --update --seconds 60 --hitcount 10 -j DROP
#### Syn-flood सुरक्षा```bash
iptables -N syn_flood
iptables -A INPUT -p tcp --syn -j syn_flood
iptables -A syn_flood -m limit --limit 1/s --limit-burst 3 -j RETURN
iptables -A syn_flood -j DROP
iptables -A INPUT -p icmp -m limit --limit 1/s --limit-burst 1 -j ACCEPT
iptables -A INPUT -p icmp -m limit --limit 1/s --limit-burst 1 -j LOG --log-prefix PING-DROP:
iptables -A INPUT -p icmp -j DROP
iptables -A OUTPUT -p icmp -j ACCEPT
iptables -t raw -A PREROUTING -p tcp -m tcp --syn -j CT --notrack iptables -A INPUT -p tcp -m tcp -m conntrack --ctstate INVALID,UNTRACKED -j SYNPROXY --sack-perm --timestamp --wscale 7 --mss 1460 iptables -A INPUT -m conntrack --ctstate INVALID -j DROP
#### उन नए पैकेट्स को ब्लॉक करें जो SYN नहीं हैं```bash
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
या```bash iptables -t mangle -A PREROUTING -p tcp ! --syn -m conntrack --ctstate NEW -j DROP
#### बलपूर्वक खंड पैकेट जाँच```bash
iptables -A INPUT -f -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
#### सभी NULL पैकेट्स को छोड़ें```bash
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
iptables -t mangle -A PREROUTING -p tcp -m conntrack --ctstate NEW -m tcpmss ! --mss 536:65535 -j DROP
#### नकली TCP Flags वाले पैकेट को ब्लॉक करें```bash
iptables -t mangle -A PREROUTING -p tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
iptables -t mangle -A PREROUTING -p tcp --tcp-flags FIN,SYN FIN,SYN -j DROP
iptables -t mangle -A PREROUTING -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
iptables -t mangle -A PREROUTING -p tcp --tcp-flags FIN,RST FIN,RST -j DROP
iptables -t mangle -A PREROUTING -p tcp --tcp-flags FIN,ACK FIN -j DROP
iptables -t mangle -A PREROUTING -p tcp --tcp-flags ACK,URG URG -j DROP
iptables -t mangle -A PREROUTING -p tcp --tcp-flags ACK,FIN FIN -j DROP
iptables -t mangle -A PREROUTING -p tcp --tcp-flags ACK,PSH PSH -j DROP
iptables -t mangle -A PREROUTING -p tcp --tcp-flags ALL ALL -j DROP
iptables -t mangle -A PREROUTING -p tcp --tcp-flags ALL NONE -j DROP
iptables -t mangle -A PREROUTING -p tcp --tcp-flags ALL FIN,PSH,URG -j DROP
iptables -t mangle -A PREROUTING -p tcp --tcp-flags ALL SYN,FIN,PSH,URG -j DROP
iptables -t mangle -A PREROUTING -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
_subnets=("224.0.0.0/3" "169.254.0.0/16" "172.16.0.0/12" "192.0.2.0/24" "192.168.0.0/16" "10.0.0.0/8" "0.0.0.0/8" "240.0.0.0/5")
for _sub in "${_subnets[@]}" ; do iptables -t mangle -A PREROUTING -s "$_sub" -j DROP done iptables -t mangle -A PREROUTING -s 127.0.0.0/8 ! -i lo -j DROP
## उन्नत कॉन्फ़िगरेशन उदाहरण
### NFQUEUE लक्ष्य का उपयोग करके Python में पैकेट हैंडलिंग
> _यह लक्ष्य nfnetlink_queue हैंडलर का उपयोग करके पैकेट को userspace में भेजता है। पैकेट को उसके 16-बिट क्यू नंबर द्वारा पहचानी गई क्यू में रखा जाता है। Userspace चाहे तो पैकेट का निरीक्षण और संशोधन कर सकता है। फिर userspace को पैकेट को ड्रॉप करना होगा या कर्नेल में पुनः इंजेक्ट करना होगा।_
#### विशिष्ट स्रोत से सभी पैकेटों को (filter:INPUT) पर ACCEPT करें और बाकी सबको DROP करें
> _यह नियम सभी filter:INPUT पैकेटों को NFQUEUE लक्ष्य के साथ क्यू 1 पर अग्रेषित करता है।_```bash
iptables -A INPUT -j NFQUEUE --queue-num 1
नेटफिल्टर क्यू 1 से बाइंड होने और पैकेट हैंडल करने के लिए स्क्रिप्ट।```python #!/usr/bin/python3
from netfilterqueue import NetfilterQueue from scapy.all import *
def packetanalyzer(pkt): ip=IP(pkt.get_payload()) if(ip.src=="192.168.122.1"): print(f"New packet from {ip.src}") pkt.accept() else: pkt.drop()
nfqueue=NetfilterQueue() nfqueue.bind(1, packetanalyzer) nfqueue.run()
#### अपने ssh एक्सेस को सुरक्षित करने के लिए खुद का पोर्ट नॉकिंग स्क्रिप्ट लिखें
> _सभी ssh अनुरोधों को DROP करें और NFQUEUE लक्ष्य के साथ उपयोगकर्ता-स्पेस में गुप्त पोर्ट अनुरोध भेजें।_```bash
iptables -t filter -I INPUT -p tcp --dport 22 -j DROP
iptables -t raw -I PREROUTING -p tcp --sport 65534 --dport 65535 -j NFQUEUE --queue-num 1
यह स्क्रिप्ट netfilter queue 1 से पैकेट कैप्चर करती है और पोर्ट नॉकिंग के लिए SOURCEPORT और SECRETPORT की जाँच करती है, और स्रोत को EXPIRETIME के लिए ssh से कनेक्ट करने की अनुमति देती है, डिफ़ॉल्ट 30 मिनट है।```python #!/usr/bin/python3
from os import system from netfilterqueue import NetfilterQueue from scapy.layers.inet import IP from time import time
SOURCEPORT=65534 SECRETPORT=65535 EXPIRETIME=30 ALLOWED={}
def portknocking(pkt): packet=IP(pkt.get_payload()) currtime=time() for item in list(ALLOWED): if(currtime-ALLOWED[item] >= EXPIRETIME*60): del ALLOWED[item] if(packet.sport==SOURCEPORT and packet.dport==SECRETPORT and packet.src not in ALLOWED): print(f"Port {packet.dport} knocked by {packet.src}:{packet.sport}") system(f"iptables -I INPUT -p tcp --dport 22 -s {packet.src} -j ACCEPT") system(f"echo 'iptables -D INPUT -p tcp --dport 22 -s {packet.src} -j ACCEPT' | at now + {EXPIRETIME} minutes") ALLOWED[packet.src]=time() pkt.drop()
nfqueue=NetfilterQueue() nfqueue.bind(1, portknocking)
try: nfqueue.run() except KeyboardInterrupt: print("\nExit with Keyboard Interrupt")
> _अपने कंप्यूटर से पोर्ट को नॉक करने और SSH कनेक्शन की अनुमति देने के लिए बस इस कमांड को निष्पादित करें:_```bash
nc -p 65534 SERVER 65535