一个面试题,使用三种不同的方法查看8080被哪个进程占用了。通常比较熟悉的方法是netstat和lsof两种,但还有什么方法呢。
一般在刚入职需要对自己公司的整个IT环境要有一个大致了解,在1-2个月后需要对开启的端口有一个清晰的认识,这个端口是做什么用的,是否是非法开启的端口,自己要心中有数否则被未知的木马通过某个陌生的端口给黑掉就尴尬了。
在 Linux 下,默认情况下1024 以下的端口是要在 root 下才能使用的,在其他用户下,如果尝试使用将会报错。在有的时候,我们可能考虑程序运行在 root 帐户下,但这可能会给 Linux 系统带来安全风险。那如何能够让非 root 用户运行的程序能够对外启用小于 1024 的端口呢?
在 Linux 下,默认情况下1024 以下的端口是要在 root 下才能使用的,在其他用户下,如果尝试使用将会报错。在有的时候,我们可能考虑程序运行在 root 帐户下,但这可能会给 Linux 系统带来安全风险。那如何能够让非 root 用户运行的程序能够对外启用小于 1024 的端口呢?
最初找到的工具有Linux自带的tc命令(需要配合tc自带的模块netem)和一个第三方工具dummynet。前者概念很复杂,命令行参数也很复杂。后者跨平台,在Windows上也可用;但在Linux上安装非常麻烦,为了编译dummynet提供的内核模块,需要编译正确版本的Linux内核源代码——我在这一步卡了很久,一直没搞定。最终还是决定用tc。计划的方案是用tc为服务端端口分别设置收包和发包的网络延迟,这样可解决tc只能工作在Linux中的问题。tc手册和网上很多文章都提到tc只能设置发包延迟,而无法设置收包延迟。
近来的大多数的新计算机都有了USB 3.0接口了。但是你怎么知道你的计算机有没有USB 3.0接口?这篇短文中,我们会告诉如何在Linux下知道你的系统上有USB 3还是USB3接口。