Fedora Core12的防火墙会过滤掉部分IP数据包,在开发调试时建议关闭防火墙
2012-01-10 18:27
295 查看
今天继续完成视频转发工具,使用udp监听本地的8003端口,接收用户发送的视频转发请求。
程序完成了,自己写个小工具模拟数据请求,来测试程序是否正常工作。
这时候,出问题了。
测试步骤:
(1)在虚拟机(Fecdora Core12)里运行程序
(2)在主机里使用工具发送模拟请求
(3)查看程序是否正常工作
但是,结果是:虚拟机Fecord Core12里监听的socket一直无法接收到主机发送的udp数据包,使用lsof -i查看,程序确实打开了监听端口:
使用tcpdump port 8003,也确实收到了主机发送的udp数据包:
但是,socket的recvfrom就是收不到数据。
而且,在虚拟机里用同样的工具发送却能收到。
问题会在哪呢?
由于socket这块是从别的项目移植过来的代码,我担心代码可能存在bug,因此检查了一遍又一遍,确认没有问题;又请头儿看了一遍,确认也没问题。我甚至都怀疑测试工具是不是有问题;还把虚拟机的网络连接从NAT到桥接到其他所有方式,都试了个遍。
最后,头儿建议把防火墙关掉。
虽然之前也考虑到了防火墙,但想:既然tcpdump都收到数据了,应该不会被防火墙过滤掉阿?头儿说,tcpmdump做的很底层,可能防火墙过滤不掉,但把我们的程序给过滤掉了。
于是,我就尝试着把防火墙关掉了:
结果证明:就是防火墙捣的鬼。关掉防火墙后一切正常了。
关于防火墙的一些知识:
关闭Fedora的防火墙
重启后生效
开启: chkconfig iptables on
关闭: chkconfig iptables off 或者 /sbin/chkconfig --level 2345 iptables off
2) 即时生效,重启后失效
service 方式
开启: service iptables start
关闭: service iptables stop
iptables方式
查看防火墙状态:
/etc/init.d/iptables status
暂时关闭防火墙:
/etc/init.d/iptables stop
重启iptables:
/etc/init.d/iptables restart
http://www.cnblogs.com/eoiioe/archive/2008/12/28/1363913.html
问题:iptable为什么其他机器发送到8003端口的udp数据包给过滤掉呢?
看来有时间得了解一下iptable的机制了。
刚才查了一下:我使用的8003端口是小于1024,已被一下服务使用的端口:
mcreport 8003/tcp Mulberry Connect Reporting Service
mcreport 8003/udp Mulberry Connect Reporting Service
要配置防火墙也可以通过:system-config-firewall命令来搞定。
最后,结论是:万恶的防火墙阿,在开发时只会碍事,能关就关掉吧。
ps:悼念俺这悲催的一天。。。
程序完成了,自己写个小工具模拟数据请求,来测试程序是否正常工作。
这时候,出问题了。
测试步骤:
(1)在虚拟机(Fecdora Core12)里运行程序
(2)在主机里使用工具发送模拟请求
(3)查看程序是否正常工作
但是,结果是:虚拟机Fecord Core12里监听的socket一直无法接收到主机发送的udp数据包,使用lsof -i查看,程序确实打开了监听端口:
[root@chu xsock]# lsof -i COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME rpcbind 791 rpc 6u IPv4 5997 0t0 UDP *:sunrpc rpcbind 791 rpc 7u IPv4 6001 0t0 UDP *:966 rpcbind 791 rpc 8u IPv4 6002 0t0 TCP *:sunrpc (LISTEN) rpcbind 791 rpc 9u IPv6 6004 0t0 UDP *:sunrpc rpcbind 791 rpc 10u IPv6 6006 0t0 UDP *:966 rpcbind 791 rpc 11u IPv6 6007 0t0 TCP *:sunrpc (LISTEN) cupsd 823 root 6u IPv6 6146 0t0 TCP localhost:ipp (LISTEN) cupsd 823 root 7u IPv4 6147 0t0 TCP localhost:ipp (LISTEN) cupsd 823 root 9u IPv4 6150 0t0 UDP *:ipp rpc.statd 1013 rpcuser 5u IPv4 6940 0t0 UDP *:webster rpc.statd 1013 rpcuser 7u IPv4 6949 0t0 UDP *:33396 rpc.statd 1013 rpcuser 8u IPv4 6953 0t0 TCP *:40877 (LISTEN) sshd 1181 root 3u IPv4 7542 0t0 TCP *:ssh (LISTEN) sshd 1181 root 4u IPv6 7544 0t0 TCP *:ssh (LISTEN) sendmail 1196 root 4u IPv4 7592 0t0 TCP localhost:smtp (LISTEN) dhclient 10321 root 6u IPv4 34639 0t0 UDP *:bootpc videotran 10615 root 4u IPv4 37324 0t0 UDP *:mcreport ------------------------->监听的端口
使用tcpdump port 8003,也确实收到了主机发送的udp数据包:
[root@chu testVideoCMD]# tcpdump port 8003 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes 18:04:42.155902 IP 192.168.110.69.7293 > 192.168.110.100.mcreport: UDP, length 112
但是,socket的recvfrom就是收不到数据。
而且,在虚拟机里用同样的工具发送却能收到。
问题会在哪呢?
由于socket这块是从别的项目移植过来的代码,我担心代码可能存在bug,因此检查了一遍又一遍,确认没有问题;又请头儿看了一遍,确认也没问题。我甚至都怀疑测试工具是不是有问题;还把虚拟机的网络连接从NAT到桥接到其他所有方式,都试了个遍。
最后,头儿建议把防火墙关掉。
虽然之前也考虑到了防火墙,但想:既然tcpdump都收到数据了,应该不会被防火墙过滤掉阿?头儿说,tcpmdump做的很底层,可能防火墙过滤不掉,但把我们的程序给过滤掉了。
于是,我就尝试着把防火墙关掉了:
service iptables stop
结果证明:就是防火墙捣的鬼。关掉防火墙后一切正常了。
关于防火墙的一些知识:
关闭Fedora的防火墙
重启后生效
开启: chkconfig iptables on
关闭: chkconfig iptables off 或者 /sbin/chkconfig --level 2345 iptables off
2) 即时生效,重启后失效
service 方式
开启: service iptables start
关闭: service iptables stop
iptables方式
查看防火墙状态:
/etc/init.d/iptables status
暂时关闭防火墙:
/etc/init.d/iptables stop
重启iptables:
/etc/init.d/iptables restart
问题:iptable为什么其他机器发送到8003端口的udp数据包给过滤掉呢?
看来有时间得了解一下iptable的机制了。
刚才查了一下:我使用的8003端口是小于1024,已被一下服务使用的端口:
mcreport 8003/tcp Mulberry Connect Reporting Service
mcreport 8003/udp Mulberry Connect Reporting Service
要配置防火墙也可以通过:system-config-firewall命令来搞定。
最后,结论是:万恶的防火墙阿,在开发时只会碍事,能关就关掉吧。
ps:悼念俺这悲催的一天。。。
相关文章推荐
- Linux防火墙端口开发与关闭(CentOS 7)
- Linux环境设置IP及关闭防火墙
- centos下面配置lamp,如果安装apache完成后,访问ip不出现欢迎页,把防火墙关闭即可
- Centos7 关闭防火墙,过滤端口
- 黑客突破TCP-IP过滤/防火墙进入内网(1 )
- [Phonegap+Sencha Touch] 移动开发71 Sencha项目开发、调试方法建议
- 希望这些建议,能推动管理软件开发的规范化进程 (数据按权限过滤)
- 微信开发之调试 2017-07-10 (含部分 chrome移动调试不能连接手机内容)
- 在linux中修改字体,mac地址,计算机名关闭防火墙和配置ip 文件夹重命名
- [Phonegap+Sencha Touch] 移动开发25 关于sencha touch在华为、红米、HTC等部分手机下hide事件失效,msgbox无法关闭的解决方案
- Hadoop开发中,如何开启、关闭控制台打印调试信息
- 黑客突破TCP-IP过滤/防火墙进入内网(2)
- 编程突破TCP/IP过滤防火墙进入内网
- 企业应用开源防火墙安全保障实战演练,第 2 部分: NAT、DMZ 构建及安全部署建议
- JAVA SE----程序开发的一些建议以及eclipse调试说明
- [Phonegap+Sencha Touch] 移动开发25 关于sencha touch在华为、红米、HTC等部分手机下hide事件失效,msgbox无法关闭的解决方案
- 希望这些建议,能推动管理软件开发的规范化进程 (数据按权限过滤)
- iptables-过滤61开头的ip数据包
- Centos7 配置固定IP与关闭防火墙--关闭SELinux
- 再谈突破 TCP-IP 过滤/防火墙进入内网(icmp篇)