您的位置:首页 > 理论基础 > 计算机网络

如何利用tcpdump来确定外部设备是否连接到服务器?

2017-07-27 00:47 781 查看
问题:在项目部署过程中,外部设备需要与你部署的Linux服务器上的某个服务进行通信,如果Linux上的服务正常启动,如何确认外部设备是否连接到Linux服务器上呢?

知识点:

(1)监听网络接口:tcpdump -i etho[eth1],默认是eth0

(2)监听指定主机:tcpdump host 监听设备ip地址

(3)监听指定端口:tcpdump 服务器端口号port

实现步骤如下:

步骤一:确定网络接口

确定要监听的网络接口号,因为有些机器有两个网络接口,比如同时存在内网端口号eth0和外网端口号eth1,输入:ifconfig,效果如下:



可以看到有两个网络接口eth0和eth1,其中eth0连接的是内网ip,eth1是外网ip,如果要对外网的设备进行监控则用网络接口eth1,反之内网接口用eht0。这里,我们用的是外部设备所以用的网络接口为eth1。

步骤二:确定监听设备的ip地址

确定外部设备的ip地址:在百度输入ip,有如下:



可以看到外部终端设备的ip地址为:220.249.162.176

另外由于该设备与我们要连接的服务器不在统一局域网,所以网络接口用eth1。

步骤三:确定网络端口号

通过命令netstat -tlunp确定下具体是外部设备要接入哪个端口号。

步骤四:结合上面几部的分析执行tcpdump命令

sudo tcpdump -i eth1 port 80 and host 220.249.162.176

效果如下:

设备未连入之前:



设备连入之后:



总结:

(1)注意要监听的网络接口号。是eth0还是eth1,可以通过命令ifconfig查当前ip地址

(2)注意要监听的端口号。因为现在很多Linux服务器对外只是开发80端口,内部的端口号比如:8003,是通过Nginx进行跳转的,所以此时如果还是监听8003,则监听不到数据。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐