Java工程师需要掌握Linux的哪些方面?
基本操作,会部署程序,查看进程,内存,硬盘,会安装jdk,tomcat!基本命令例如:cp,mv,ls,ps,top,df,cd,tail,ping,ifconfig,scp,rm,chmod,chown,yum,apt-get,telnet,ftp,kill,grep等!尤其要求熟悉vim.可以熟悉掌握centos, Ubuntu!,如果想做简单维护工作的话,可以学习shell编程!
用java发送http请求,ping不通该服务器的ip,是不是就发送不成功?
网络通不通将直接影响http请求是否能发送成功,一般我们在开发调试的过程中会使用ping命令去检验网络是否已经打通,但这个方法并不能准确判断,因为有时网络其实是通的,但是服务器端会禁止客户端ping,也是常说的ping不通,禁用ping是为了降低被网络攻击的可能,提高网络安全性。
正常情况下可以通过以下两个方式禁止ping:1.修改内核参数;2.修改防火墙配置。
1.修改内核参数
如果只是临时禁止ping,可以修改/proc/sys/net/ipv4/icmp_echo_ignore_all 文件的内容,将其内容修改为1,则禁止ping,无需重启服务器;将其内容修改为0,则允许ping。
如果想永久禁止ping,修改文件 /etc/sysctl.conf,在末尾增加一行:net.ipv4.icmp_echo_ignore_all = 1,0表示允许,1表示禁止,修改完成后执行sysctl -p使配置生效。
2.修改防火墙配置
这个方法的前提是上面的方式没有配置,也就是没有禁止ping。修改iptables禁止ping:
iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP
如果要允许ping,同样修改iptables:
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
所以,从上面可以看到如果想通过ping的方式校验网络是否畅通,可以通过查看上面的两种方式的配置参数来确认是否禁止了ping,如果没有禁止ping,还是ping不通,大概率是网络不通。
如果可以ping通,但是http请求还是发不成功,需要确认是否配置了网络IP白名单或者黑名单之类的网络安全防护措施。
希望对你有所帮助!
我是[Java实战技术],关注我,专注Java技术原理分析、实战技术、分布式系统构建。
Java开发需要哪些TCP/IP知识?
Java开发需要那些TCP/IP知识:
TCP/IP模型
数据链路层
网络层
ping
Traceroute
TCP/UDP
DNS
TCP连接的建立与种植
TCP流量控制
TCP拥塞控制
首先是TCP/IP模型,概念的话可以参考书籍和百科。基于TCP/iP的参考模型将协议分成四个层次,它们分别是链路层、网络层、传输层和应用层。下图表示TCP/IP的与OSI模型各层的对照关系。
TCP/IP协议族按照层次由上到下,层层包装。最上面的应用层,也就是我们很熟悉的协议,有http,ftp等。第二层则是传输层,著名的TCP和UDP协议就是在这个层次。第三层是网络层,我们所熟悉的IP协议就在这里。它负责对数据加上IP地址和其他的数据一确定传输的目标。第四层就是数据链路曾,这个层次为待传送的数据加入一个以太网协议头,并且进行CRC编码,为最后的数据传输做准备。
还有更详细的Java开发所需要学的TCP/IP知识的配套视频,以及笔记和概念等。可以关注我们私信或者是留言获取。