网络
端口号
www的端口:80
ftp的端口:20和21
netstat、路由
-
netstat:显示
网络
状态,linux下可以得知整个 Linux 系统、本机各端口的网络情况,查看当前网络连接
、查看主机的连接状态
,一般用于检验本机各端口的网络连接情况,包括网络地址信息,网络的连接状态,网络的子网掩码、套接口使用情况、路由、接口、协议(TCP等)【是一个监控TCP/IP网络的非常有用的工具】等等,通过命令 netstat -ie ,效果和ifconfig一样】
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp
)仅显示tcp相关选项【查看TCP连接】
-u (udp
)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息
,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。 -
下面那些命令可以用来查看Linux主机的默认路由(
route
、netstat
)young@young-Lenovo-G470:~$ route 内核 IP 路由表 目标 网关 子网掩码 标志 跃点 引用 使用 接口 default 172.28.234.1 0.0.0.0 UG 0 0 0 wlan0 172.28.234.0 * 255.255.254.0 U 9 0 0 wlan0 young@young-Lenovo-G470:~$ netstat -route 内核 IP 路由表 目标 网关 子网掩码 标志 跃点 引用 使用 接口 default 172.28.234.1 0.0.0.0 UG 0 0 0 wlan0 172.28.234.0 * 255.255.254.0 U 9 0 0 wlan0 young@young-Lenovo-G470:~$
- linux下
侦测主机到目的主机之前所经过的路由
的命令:traceroute
route
命令用来显示目前本机路由表的内容,并且还可以针对路由表中的记录来进行相应的添加、删除
或修改
等操作。- Linux 修改路由的命令是(
route
)
- Linux 修改路由的命令是(
- linux下
-
tracert
命令用来探测路由经过,是Windows 路由跟踪实用程序,可以用于确定 IP 数据包访问目标时所选择的路径。
TCP
-
在linux编程中,哪个TCP的套接字选项与nagle算法的开启和关闭有关?
TCP_NODELAY
当有一个TCP数据段不足MSS,比如要发送700Byte数据,MSS为1460Byte的情况。nagle算延迟这个数据段的发送,等待,直到有足够的数据填充成一个完整数据段。也许有人会问,这有什么影响呢?没有太大的影响,总体上来说,这种措施能节省不必要的资源消耗。但是要发送的总体数据很小时,这种措施就是拖后腿了。比如,用户请求一个网页,大约十几KB的数据,TCP先发送了个数据包,剩下几百字节一直不发送,要等到另一个RTT才发送,这时候前面发送数据的ACK已经返回了。这样的用户体验是很不好的。 所以,现在很多服务器都选择主动关闭nagle算法,因为带宽够大,资源消耗不是问题,速度反而是个大问题。
从上述描述中,禁用 nagle,实质就是不在延迟 TCP_NODELAY -
关于 Linux 系统上同一个程序的多个进程实例共享一个 TCP 监听端口的说法,哪个不正确?:每个进程分别绑定一次, 但只有最后一个调用的进程才能收到数据。
每个进程都使用
SO_REUSEPORT
选项,然后绑定同一个地址和端口
每个进程分别绑定不同的网卡地址的同一端口
第一个进程先绑定到监听地址端口, 然后 fork 子进程共享使用 -
D是竞争调度的结果,而不是最后调用的进程收到数据。
A使用SO_REUSEPORT,绑定统一地址和端口。
B分别绑定 不同的网卡地址的同一端口,TCP的四元组并不冲突。
C使用fork创建子进程共享,也没有问题。
修改/etc/sysctl.conf如下哪项参数可以开启Linux流量转发功能(net.ipv4.ip_forward = 1
)
ip
-
有一个文件ip.txt,每行一条ip记录,共若干行,已排好序,下面哪个命令可以实现“统计出现次数最多的前3个ip及其次数”?(
uniq -c ip.txt | sort -nr | head -n 3
) -
在Linux主机上完全安装了RHEL5,这时系统会默认安装DHCP服务器软件包,下面关于DHCP服务器的配置文件描述正确的是(
DHCP服务器的配置文件为/etc/dhcpd.conf
、DHCP服务器的配置文件默认是不存在的,需要手工创建
) -
Linux 系统中DHCP 服务器的服务程序是dhcpd,配置文件是dhcpd.conf,如果在该配置文件中包括如下配置内容:
Subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.100 192.168.2.200 ;
}
关于以上配置内容,说法正确的是(对子网“192.168.2.0/24”中的主机进行动态地址分配
、在子网中用于动态分配的IP 地址数量为101 个
) -
server-name
:通知DHCP客户服务器名称;
fixed-address
:分配给客户端一个固定的IP地址
;- 在 dhcpd.conf 中用于向某个客户主机分配固定 IP 地址的参数是(
fixed-address
)
- 在 dhcpd.conf 中用于向某个客户主机分配固定 IP 地址的参数是(
filename
:开始启动文件的名称,应用于无盘工作站;
hardware
:指定网卡接口类型和MAC地址。
在Red Hat Linux系统中,DHCP服务器可以提供的服务包括( 提供DNS、网关信息
、为特定客户机提供固定IP地址
、为主机提供动态的IP地址
)
- RHEL5系统安装DHCP服务器软件包后(
系统中存在配置文件“/etc/dhcpd.conf”
)