LLDP是一种工业标准协议,用于取代EDP或CDP等专用链路层协议。LLDP的目标是提供一个inter-vendor兼容机制,向相邻网络设备发送链路层通知。
lldpd是一个LLDP协议的一种实现,给各种Unixes使用。除此之外,它还支持一些专有协议。
实现交换机端口的抓取,目前我知道的有两种工具,一种是lldpad,另一种是lldpd。
这两个工具做了一下对比,最终选择了lldpd。原因如下:
lldpad: https://github.com/jrfastab/lldpad
lldpd: https://github.com/vincentbernat/lldpd
通过对比可以看到lldpad最近一次更新,已经是5年前了。而lldpd的最近一次更新在本月。
lldpd可以将输出的信息转化为json格式,非常方便使用。
需要先配置好配置好epel-release源,然后直接yum安装即可。
安装好之后,你可以修改/etc/sysconfig/lldpd文件,来配置一些参数。
lldpd有两个模块。一个是lldpd的后台程序,用于接收和发送LLDP报文;一个是lldpcli用来查询和配置后台程序的工具。
将上述命令,加上 -f json 可以转变输出结果。这个功能非常有用,有利于自动化处理这些数据。
使用x722 LOM,当lldpad启动时,lldptool -L adminStatus = rxtx -i <interface name>然后lldptool -tni <interface name>运行时,NIC端口连接到启用了LLDP的交换机,不会返回LLDP信息。 (其中LLDP =链路层发现协议)
运行commnand " echo lldp stop >/ sys / kernel / debug / i40e / <PCIe路径>/ command" .由于LOM没有FCoE功能,没有DCBx要求,所以没有真正的功能影响。 (FCoE =以太网光纤通道)
根据Intel设计,x722适配器默认处理所有LLDP流量,LLDP流量将不会转到主机CPU,除非使用在x722中停止LLDP功能的命令。
netstat命令各个参数说明如下:-t : 指明显示TCP端口
-u : 指明显示UDP端口
-l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)
-p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。
-n : 不进行DNS轮询,显示IP(可以加速 *** 作)
即可显示当前服务器上所有端口及进程服务,于grep结合可查看某个具体端口及服务情况··
netstat -ntlp //查看当前所有tcp端口·
netstat -ntulp |grep 80 //查看所有80端口使用情况·
netstat -an | grep 3306 //查看所有3306端口使用情况·
查看一台服务器上面哪些服务及端口
netstat -lanp
查看一个服务有几个端口。比如要查看mysqld
ps -ef |grep mysqld
查看某一端口的连接数量,比如3306端口
netstat -pnt |grep :3306 |wc
查看某一端口的连接客户端IP 比如3306端口
netstat -anp |grep 3306
netstat -an 查看网络端口
lsof -i :port,使用lsof -i :port就能看见所指定端口运行的程序,同时还有当前连接。
nmap 端口扫描
netstat -nupl (UDP类型的端口)
netstat -ntpl (TCP类型的端口)
netstat -anp 显示系统端口使用情况
很基础的linux知识,建议跟着《linux就该这么学》系统学习下!
可以用Wireshark或tcpdump命令抓包,Wireshark具有图形界面,tcpdump是命令行界面tcpdump举例:
获取主机192.168.228.246接收或发出的ssh包,并把mac地址也一同显示:
# tcpdump -e src host 192.168.228.246 and port 22 and tcp -n -nn
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)