据我所知,iptable可能会忘记数据包状态吗?是这样的吗?如果是,我是否必须添加额外的无状态规则?
例如,我有这些规则。
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp --dport 53 -m state --state NEW -j ACCEPT
我必须添加以下规则吗?
iptables -A OUTPUT
我想在嵌入式linux设备上使用Alljoyn框架。出于安全原因,有必要为该设备配置防火墙。这是用iptables完成的。
到目前为止,我所做的是:我尝试在没有防火墙的设备上运行AboutService示例,然后检查TCPDump。作为客户端,我使用了IoT Explorer for AllJoyn (Windows 10),但是AboutClient也应该运行良好。检查TCPDump与wireshark,宣布的端口是明确的,我必须打开端口9955 (alljoyn) 9956 (Alljoyn)和5353 (MDNS?!?)给UDP的。我用以下规则解决了这个问题:
$ iptables -A
我有一个关于端口扫描的任务。我正在扫描Java.In程序中一些IP地址的UDP端口(假设一切正常),我只能找到一个打开的UDP端口。在另一个手中,通过"nmap“进行端口扫描,我得到了4个开放的UDP端口。谁能告诉我为什么我不能通过Java代码找到多个端口?顺便说一句,我可以在我的代码中找到真正的开放端口。
int startPortRange=1;
int stopPortRange=1024;
InetAddress address = InetAddress.getByName("bigblackbox.cs.binghamton.edu");
我在网上找到的所有教程和示例都指定了端口号,如7000或4950等。如果这些端口在一台计算机上打开,但在另一台计算机上打开,该怎么办?看起来这样做就不是个好主意了。有没有办法说“找到并使用任何开放的端口”?我的代码现在是这样的-
//get server info, put into servinfo
if ((status = getaddrinfo("192.168.2.2", port, &hints, &servinfo)) != 0) {
fprintf(stderr, "getaddrinfo error: %s\n", ga
linux上有一个活动的ufw .nmap -sT -O localhost的输出是:
Starting Nmap 6.40 ( http://nmap.org ) at 2019-05-27 22:59 EEST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00019s latency).
All 1000 scanned ports on localhost (127.0.0.1) are closed
Warning: OSScan results may be unreliable because we could
我的绑定DNS服务器配置为侦听TCP端口53。是否有任何方法将服务器设置为侦听UDP而不是TCP?netstat命令的输出是:
root@ns1:/# netstat -lntu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 192.168.163.172:53 0.0.0.0:* LISTEN
tcp
我需要在UFW中实现以下规则,但不知道如何做到这一点:
iptables -t nat -A POSTROUTING -o eth0 -s 10.8.0.0/24 -j MASQUERADE
#Note: If you use tcp protocol you must change -p udp to -p tcp and --ddport 1194 to --ddport 443
iptables -A INPUT -i eth0 -p udp --dport 1194 -j ACCEPT
iptables -A INPUT -i tun0 -j ACCEPT
iptables -A FO