博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何利用tcpdump来确定外部设备是否连接到服务器?
阅读量:4220 次
发布时间:2019-05-26

本文共 793 字,大约阅读时间需要 2 分钟。

问题:在项目部署过程中,外部设备需要与你部署的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,则监听不到数据。

你可能感兴趣的文章
popcount 算法分析
查看>>
一种实用的popcount实现方法
查看>>
slickedit快捷键冲突问题
查看>>
[讨论] AUTOCAD二次开发简介
查看>>
关于AutoCAD的dwg文件操作学习
查看>>
System::String转换为std::string
查看>>
C与C++中IO流的比较
查看>>
VS2010 警告 1 warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s
查看>>
vs2010 c++ 学习笔记
查看>>
C++类和new、delete操作符
查看>>
浅谈 C++ 中的 new/delete 和 new[]/delete[]
查看>>
关于“为什么delete以后指针还能被赋值”一种描述
查看>>
C++常用库(转)
查看>>
c/c++内存释放知识总结
查看>>
马云说:员工的离职原因
查看>>
dxf的DIMSTY尺寸标注格式
查看>>
C++ 中的流操作
查看>>
c++string函数详解
查看>>
VC++多线程编程
查看>>
C++内存分配秘籍—new,malloc,GlobalAlloc详解
查看>>