我正在尝试实施一种方法来防止从我的笔记本进行网络扫描。我想要的一件事是允许对特定主机(例如我的网关)发出 arp 请求。
我使用 arptables 添加了一些规则,它们似乎有效(一开始)
arptables -A OUTPUT -d 192.168.1.30 -j DROP
arptables -A INPUT -s 192.168.1.30 -j DROP
这实际上是阻止对该主机的 arp 请求。如果我运行:
tcpdump -n port not 22 and host 192.168.1.38 (target host)
并运行:
arp -d 192.168.1.30; ping -c 1 192.168.1.30; arp -n (notebook)
tcpdump 显示目标上没有传入数据包,笔记本上显示 arp -n (不完整)
但是,如果我在笔记本上运行 nmap -sS 192.168.1.30,我会进入目标主机:
22:21:12.548519 ARP, Request who-has 192.168.1.30 tell 192.168.1.38, length 46
22:21:12.548655 ARP, Reply 192.168.1.30 is-at xx:xx:xx:xx:xx:xx, length 28
22:21:12.728499 ARP, Request who-has 192.168.1.30 tell 192.168.1.38, length 46
22:21:12.728538 ARP, Reply 192.168.1.30 is-at xx:xx:xx:xx:xx:xx, length 28
但是笔记本上的arp -n仍然显示不完整,但是nmap检测到主机。
我也尝试使用nftables和ebtables但没有成功。
如何阻止nmap发送arp请求并找到主机?