文档章节

Linux服务器发包

leolan
 leolan
发布于 2016/10/24 23:00
字数 1041
阅读 22
收藏 0
关于服务器网络流量异常,卡死,遭受入侵,对外发包...
以下只是一些小工具,用于检测流量及哪些进程有问题,需要丰富的经验配合。

yum install ifstat nload iptraf sysstat
大多数是因为PHP-ddos木马原因导致发包

watch ifconfig -------------查看数据包新增情况
ifstat ----查看网卡流量
       eth0                eth1       
 KB/s in  KB/s out   KB/s in  KB/s out
  407.34    154.99    134.96    324.29
  274.08    191.48    210.72    248.32
  240.20    192.91    257.22    179.06
  136.48    236.72    203.89    179.84

nload -------以流量图显示

iptraf ------------很直观的工具

sar -n DEV 1 4 查看4次数据
[root@ct-nat ~]#  sar -n DEV 1 4
Linux 2.6.18-164.el5PAE (ct-nat)        06/05/2014

02:20:38 PM     IFACE   rxpck/s   txpck/s   rxbyt/s   txbyt/s   rxcmp/s   txcmp/s  rxmcst/s
02:20:39 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
02:20:39 PM      eth0    855.10    290.82 832319.39 140028.57      0.00      0.00      0.00


netstat -tu -c 查看发包的端口
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State      
tcp        0      0 124.1.1.68:49995          218.66.170.184:10991        ESTABLISHED 
tcp        0      0 ::ffff:118.26.96.1:ssh      ::ffff:118.26.96.248:41077  ESTABLISHED 
tcp        0      0 ::ffff:118.26.96.1:ssh      ::ffff:118.26.96.248:42562  ESTABLISHED 
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State      
tcp        0      0 124.1.1.68:49995          218.66.170.184:10991        ESTABLISHED 
tcp        0      0 ::ffff:118.26.96.1:ssh      ::ffff:118.26.96.248:41077  ESTABLISHED 
tcp        0      0 ::ffff:118.26.96.1:ssh      ::ffff:118.26.96.248:42562  ESTABLISHED 

用  lsof -i :39733 查看端口的进程,Kill就可以了

一篇博客的解决办法:
从服务器上使用命令sar -n DEV 1 4 ,确实出现大量发包的问题,(下边是正常的,异常的情况eth0txpck/s 10000左右了)

先进行限速或者拔掉网线:
开始之前,先要清除 eth0所有队列规则
tc qdisc del dev eth0 root 2> /dev/null > /dev/null

1) 定义最顶层(根)队列规则,并指定 default 类别编号
tc qdisc add dev eth0 root handle 1: htb default 20
tc class add dev eth0 parent 1: classid 1:20 htb rate 2000kbit
(1KB/s = 8KBit/s)

TC命令格式:
tc qdisc [ add | change | replace | link ] dev DEV [ parent qdisc-id | root ] [ handle qdisc-id ] qdisc [ qdisc specific parameters ]

tc class [ add | change | replace ] dev DEV parent qdisc-id [ classid class-id ] qdisc [ qdisc specific parameters ]

tc filter [ add | change | replace ] dev DEV [ parent qdisc-id | root ] protocol protocol prio priority filtertype [ filtertype specific parameters ] flowid flow-id

显示
tc [-s | -d ] qdisc show [ dev DEV ]
tc [-s | -d ] class show dev DEV tc filter show dev DEV

查看TC的状态
tc -s -d qdisc show dev eth0
tc -s -d class show dev eth0

删除tc规则
tc qdisc del dev eth0 root

查看状态:
top
CPU和MEM都正常,看不出异常的进程。

yum install -y tcpdump
tcpdump -nn
找到大量的IP地址

本机(192.168.35.145)和主机114.114.110.110之间的数据
tcpdump -n -i eth0 host 192.168.35.145 and 114.114.110.110
还有截取全部进入服务器的数据可以使用以下的格式
tcpdump -n -i eth0 dst 192.168.35.145

或者服务器有多个IP 可以使用参数
tcpdump -n -i eth0 dst 192.168.35.145  or  192.168.35.155

我们抓取全部进入服务器的TCP数据包使用以下的格式,大家可以参考下
tcpdump -n -i eth0 dst 192.168.35.145 or 192.168.35.155 and tcp

从本机出去的数据包
tcpdump -n -i eth0 src 192.168.35.145 or 192.168.35.155
tcpdump -n -i eth0 src 192.168.35.145 or 192.168.35.155 and port ! 22 and tcp
或者可以条件可以是or  和 and  配合使用即可筛选出更好的结果。

可以将异常IP加入到/etc/hosts.deny中,或者防火墙设置下

NetHogs 查看网络使用情况
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh epel-release-6-8.noarch.rpm
yum clean all
yum makecache
yum install nethogs -y
nethogs

下图显示各进程当前网络使用情况:

按“m”键可以切换到统计视图,显示各进程总的网络使用情况

使用帮助:
    [root@localhost ~]# nethogs --help  
    usage: nethogs [-V] [-b] [-d seconds] [-t] [-p] [device [device [device ...]]]  
            -V : 显示版本信息,注意是大写字母V.  
            -d : 延迟更新刷新速率,以秒为单位。默认值为 1.  
            -t : 跟踪模式.  
            -b : bug 狩猎模式 — — 意味着跟踪模式.  
            -p : 混合模式(不推荐).  
            设备 : 要监视的设备名称. 默认为 eth0  
    当 nethogs 运行时, 按:  
     q: 退出  
     m: 总数和当前使用情况模式之间切换  
找到大量发包的进程,之后kill掉,再排查下这个进程是什么程序,文件路径在哪里,删除掉异常的文件。



个人学习笔记,不当之处还请指正。
----------不定期更新------------


本文转载自:http://blog.csdn.net/lan842632/article/details/52843345

共有 人打赏支持
上一篇: iptables防火墙
下一篇: LVM磁盘管理
leolan
粉丝 1
博文 43
码字总数 74
作品 0
梅州
私信 提问
linux环境下glassfish的ejb访问问题

我在linux上和windows7下各部署了一套glassfish,jdk,glassfish,和部署的应用均相同。 但是在远程客户端上访问windows下的ejb成功而访问linux时在lookup卡死,通过网络抓包可以看到在访问时...

astl
04/18
86
0
kangle web server源代码安装简明教程

首先到kangle官方网站上下载最新的源代码。一般我们会得到kangle-x.y.z.tar.gz(x,y,z是版本号) wget http://www.kanglesoft.com/download/zcore.php?os=src前提条件: 请先确保你的系统上有g...

keengo
2011/08/20
0
0
kinect+java3d+robot开发备忘录

开发kinect也有一阵子了,虽然一直在做硬件交互方面的工作,也没有做个像样的应用出来,但好歹还是构建了一套系统可以让小朋友们可以和机器人激情互动 整个系统的配置和启动比较繁琐 一 kine...

zjhsdtc
2013/04/06
0
0
字符界面的服务器怎么做GUI?

现在公司要开发一个支持Windows/Linux的后台服务器,不要GUI,但又要给出运行状态、运行数据监控、简单交互等等的功能,我想起MySQL有类似字符组成的简单界面,也很酷,所以,我想知道是不是...

天台道人
2013/09/16
1K
9
用C++二次封装开源框架,并编写测试程序

基于quic进行封装 1、quic是google基于UDP封装的网络通信开发包,请基于quic(https://github.com/devsisters/libquic https://github.com/google/proto-quic 二选一)源码封装成一个简化的C...

天台道人
2016/06/21
347
2

没有更多内容

加载失败,请刷新页面

加载更多

Flink-数据流编程模型

1、抽象等级 Flink提供了不同级别的抽象来开发流/批处理应用程序。 1) 低层级的抽象 最低层次的抽象仅仅提供有状态流。它通过Process函数嵌入到DataStream API中。它允许用户自由地处理来自一...

liwei2000
23分钟前
1
0
Java开发Swing实战JFrame和JTabbedPane容器的用法详细解析

概述: 项目是一个桌面程序,涉及标签和按钮组件、布局管理器组件、面板组件、列表框和下拉框组件等组件,以及Swing事件处理机制。 下面先从最基础的界面开始。 /** * @author: lishuai * @...

金铭鼎IT教育
29分钟前
9
0
flask 之旅

环境 为了正确地跑起来,你的应用需要依赖许多不同的软件。 就算是再怎么否认这一点的人,也无法否认至少需要依赖Flask本身。 你的应用的运行环境,在当你想要让它跑起来时,是至关重要的。 ...

hblt-j
29分钟前
6
0
easyui的上传文件

记录一下自己亲手操刀easyui的心得:不用不知道,一用就问题多,网上查资料,有用的真的太少了 ——————————————————正文 FileBox,还是不错的讲真,至少我去自己写就gaga了...

anlve
30分钟前
4
0
如何做好SQLite 使用质量检测,让事故消灭在摇篮里

本文由云+社区发表 SQLite 在移动端开发中广泛使用,其使用质量直接影响到产品的体验。 常见的 SQLite 质量监控一般都是依赖上线后反馈的机制,比如耗时监控或者用户反馈。这种方式问题是: ...

腾讯云加社区
32分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部