1、所谓的监听就是某个服务程序会一直常驻在内存中,所以该程序启动的Port就会一直存在。
2、在小于1023的端口,都是需要以root身份才能够启动的。
3、大于1024以上的Port主要是作为client端的软件启动的Port。
4、DNS是非可靠的联机服务,使用UDP服务。
5、查看port
# cat /etc/services
6、常用来观察port的服务有两个命令
netstat: 在本机上以自己的程序监测自己的Port
nmap: 通过网络的侦测软件辅助,可侦测非本机其他网络主机
7、列出网络服务 Local Address (列出所有的开放的端口)
# netstat -tunl
tcp 0.0.0.0: 0.0.0.0:* LISTEN
tcp 0.0.0.0: 0.0.0.0:* LISTEN
tcp 0.0.0.0: 0.0.0.0:* LISTEN
8、列出本机与其他主机连接的端口
#netstat -tun
tcp 17.0.100.1: 17.0.105.95: ESTABLISHED
tcp 17.0.100.1: 17.0.105.31: ESTABLISHED
tcp 17.0.100.1: 17.0.102.63: ESTABLISHED
9、查找出已经建立连接的端口和进程号
#netstat -tunp
tcp 17.0.100.1: 17.0.105.95: ESTABLISHED /mpirtm3d
tcp 17.0.100.1: 17.0.105.31: ESTABLISHED /mpirtm3d
tcp 17.0.100.1: 17.0.102.63: ESTABLISHED /mpirtm3d
如要杀死进程mpirtm3d, kill -9 24041
10、使用预设参数扫描本机所启动的port
#nmap localhost (在预设情况下,nmap只会扫描tcp)
PORT STATE SERVICE
/tcp open ftp
/tcp open ssh
/tcp open rpcbind
/tcp open exec
/tcp open login
/tcp open shell
/tcp open ipp
/tcp open kdm
/tcp open NFS-or-IIS
/tcp open rmiregistry
/tcp open commplex-link
/tcp open wbem-https
/tcp open fodms
/tcp open dlip
/tcp open http
/tcp open zeus-admin
11、查看所有的port(TCP, UDP)
#nmap -sTU localhost (查看TCP和UDP的Port)
PORT STATE SERVICE
/tcp open ftp
/tcp open ssh
/tcp open rpcbind
/tcp open exec
/tcp open login
/udp open rpcbind
/udp open ntp
/udp open|filtered ipp
12、查看几部主机在你的网络中
#nmap -sP 192.168.0.0/24
13、查看出该主机已经建立的端口和Port
#netstat -tnlp
tcp ::: :::* LISTEN /rpcbind
tcp ::: :::* LISTEN /httpd
tcp ::: :::* LISTEN /rpc.statd
14、查看是哪个服务启动的端口(如要查看80端口的httpd服务),可以查看到httpd的启动/etc/rc.d/init.d/httpd
#locate httpd | grep '/httpd$' /etc/httpd
/etc/logrotate.d/httpd
/etc/rc.d/init.d/httpd
/etc/sysconfig/httpd
/usr/include/httpd
/usr/lib64/httpd
/usr/sbin/httpd
/var/lock/subsys/httpd
/var/log/httpd
/var/run/httpd
15、查看telnet是否安装
#rpm -qa |grep telnet-server
16、在RedHat系统中,run level启动的数据都是放置在/etc/rc.d/rc[0-6].d里。
17、查看一个服务是否开机自启 (如查看sshd服务)
# chkconfig --list | grep sshd
sshd :off :off :on :on :on :on :off
18、如果有启动,可以用 chkconfig --level 35 portmap off 设置开机时不要自启动
19、可以通过/etc/init.d/portmap stop 来立刻关闭服务
20、chkconfig的用法,chkconfig命令主要用来更新(启动和停止)和查询系统服务的运行级信息。
chkconfig --list #列出所有的系统服务
chkconfig --add httpd #增加httpd服务
chkconfig --del httpd #删除httpd服务
chkconfig --level ripd on #设置httpd在运行级别2345
chkconfig --level mysqld on #设定mysqld在级别3和等级5执行
21、yum server设定
/etc/yum.conf
/etc/yum.repos.d/***.repo
/etc/yum.repos.d/yum.repo
22、路由表
每一部主机都有自己的路由表,透过自己的路由表传递你主机的封包到下一个路由器上。查看路由表
路由表的排列是由小网域到大网域,你主机上有几个网络接口存在,该网络接口就会存在一个路由才对。
#route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.122.0 0.0.0.0 255.255.255.0 U virbr0
169.254.0.0 0.0.0.0 255.255.0.0 U ib0
169.254.0.0 0.0.0.0 255.255.0.0 U ib1
169.254.0.0 0.0.0.0 255.255.0.0 U br0
23、 加入我现在的IP地址为192.168.1.11,我要连接到192.168.100.254这个路由器时,可以使用如下命令添加路由
#route add -net 192.168.100.0 netmask 255.255.255.0 gateway 192.168.100.254
#G作为外部的装置作为gateway的意思。
假设本机你有两张网络卡,假设:
eth0: 192.168.0.100
eth1: 192.168.0.200
那么路由表的规则是:如果两个地址都在同一个网段的时候,都是透过eth传出数据。
24、启动封包传递
#echo “1” > /proc/sys/net/ipv4/ip_forward
可以将上述的指令写入/etc/rc.d/rc.local中,以使linux可以再开机的时候就启动封包转递的功能。
25、sysctl配置与显示在/proc/sys目录中的内核参数,可以用sysctl来设置或重新设置联网功能,如ip转发、ip碎片去除以及源路由的检查等,用户只需要编 辑/etc/sysctl.conf.
启动ip路由转发功能:
1) #echo 1 > /proc/sys/net/ipv4/ip_forward
2) sysctl -w net.ipv4.ip_forward=1
26、NAT(Network Address Translation,网络地址转译)
NAT本身就是一个路由器,但NAT比路由器多了一个IP转换的功能。
Linux的NAT主机可以透过修改封包的IP表头数据之来源或目标IP,让来自私有的IP的封包可以转换为NAT主机的公共IP。
27、可以使用tcpdump的指令来监听封包数据
28、只要是具有路由器功能的设备都会具有两个以上的接口,分别用来沟通不同的网域,同时该路由器都会具有一个预设路由,同时还可以加上一些防火墙的软件在Linux Router上。
29、第一张网络卡的第一个虚拟接口为eth0:0
30、路由是双向的,所以由网络封包发送处发送到目标的路由规划,必须要考虑到回程时是否具有相对的路由。
31、网络封包进入本机的流程顺序
1)、封包过滤防火墙:IP Filetering
要进入Linux本机的封包都会先通过Linux核心的预设防火墙,这是iptables这个软件提供的防火墙功能。
2)、TCP wrappers
网络封包开始接受super deamons和TCP_wrapper的检验。
32、iptables 其实就是一种防火墙机制,只要能够分析与过滤进出我们管理的网络的封包数据,就可以称为防火墙。
防火墙最大的功能就是限制某种服务的存取来源。