精华内容
下载资源
问答
  • 最近碰到一个项目,前端用apache htttpd进行发布(80端口),通过双机负载均衡转发到后端的两个tomcat进行处理(8081和8082端口),现在需要随时监控这三个端口的情况,一旦down掉需要能够立即告警处理。批量的系统...
    http://huangrs.blog.51cto.com/2677571/967512
    

    最近碰到一个项目,前端用apache htttpd进行发布(80端口),通过双机负载均衡转发到后端的两个tomcat进行处理(8081和8082端口),现在需要随时监控这三个端口的情况,一旦down掉需要能够立即告警处理。批量的系统监控比较好的是用nagios软件来实现,这样小项目专门装一个nagios软件,有点繁琐了。在网上查了一些资料,总结实验了一下,可以用简单的nc命令来实现。

    一、nc命令检测端口的用法

    # nc  -v  -w 10 %IP%   -z  %PORT%

    -v  显示指令执行过程。
    -w  <超时秒数>   设置等待连线的时间。
    -u  表示使用UDP协议
    -z  使用0输入/输出模式,只在扫描通信端口时使用。

    例1:扫描指定的8080端口
    # nc -v -w 10 -z 192.168.0.100 8080 
    Connection to 192.168.0.100 8080 port [tcp/http] succeeded!

    例2:扫描20到25的端口范围,并详细输出。
    # nc -v -w 2 -z 192.168.0.100 20-25  
    nc: connect to 192.168.0.100 port 20 (tcp) failed: Connection refused
    nc: connect to 192.168.0.100 port 21 (tcp) failed: Connection refused
    Connection to 192.168.0.100 22 port [tcp/ssh] succeeded!
    nc: connect to 192.168.0.100 port 23 (tcp) failed: Connection refused
    nc: connect to 192.168.0.100  port 24 (tcp) failed: Connection refused
    nc: connect to 192.168.0.100 port 25 (tcp) failed: Connection refused

    例3:扫描1到65535的端口范围,只输出打开的端口(去掉-v参数即可)
    # nc -w 1 -z 192.168.0.100 1-65535
    Connection to 192.168.0.100 22 port [tcp/ssh] succeeded!
    Connection to 192.168.0.100 80 port [tcp/http] succeeded!
    Connection to 192.168.0.100 2121 port [tcp/scientia-ssdb] succeeded!
    Connection to 192.168.0.100 4004 port [tcp/pxc-roid] succeeded!
    Connection to 192.168.0.100 8081 port [tcp/tproxy] succeeded!
    Connection to 192.168.0.100 11211 port [tcp/*] succeeded!

    二、批量检测服务器指定端口开放情况:

    1、假如我们要监控一堆指定的IP和端口,可新建一个文件(第1列服务器IP,第2列要监控的端口)。
    # vim /scripts/ip-ports.txt

    192.168.0.100 80  192.168.0.100 8081  192.168.0.101 8082  192.168.1.100 21 2、我们可以写这样一个脚本来批量检测端口是否开放:
    # vim /scripts/ncports.sh

    #!/bin/bash  #检测服务器端口是否开放,成功会返回0值显示ok,失败会返回1值显示fail   cat /scripts/ip-ports.txt | while read line  do    nc -w 10 -z $line > /dev/null 2>&1    if [ $? -eq 0 ]    then      echo $line:ok    else      echo $line:fail    fi   done 3、执行脚本查看运行结果如下:
    # chmod a+x  /scripts/ncports.sh
    # /scripts/ncports.sh
    192.168.0.100 80:ok
    192.168.0.100 8081:ok
    192.168.0.101 8082:ok
    192.168.1.100 21:fail



    三、端口不通时设置告警:

    1、 邮件告警:

    (1) 先安装linux下面的邮件发送程序mutt(参见我另一篇文章《Linux下面如何用mutt命令发送邮件》

    (2) 修改上面的ncports.sh检测脚本,在显示失败fail的时候增加一行:
           ……………………
          echo $line :fail
          echo "服务器 $line 端口不通,请尽快处理!" | mutt -s "【机房监控】服务器$line端口不通"  test@139.com
          ……………………

    (3) 如果上面的接收邮箱设置为移动139邮箱,并开启接收邮件短信告知,即可实现“短信告警”的功能。

    2、 windows消息弹窗告警:

    (1) 先打开接收消息弹窗windows客户机的“Messenger”服务,设置为“启动”

    (2) 利用smbclient命令来发送消息,net脚本文件如下:
    # vim /scripts/net.sh

    #!/bin/bash  #/scripts/net.sh  case "$1" in  send)  echo "$3"|smbclient -I "$2" -M `nmblookup -A "$2"|sed -e '1d' -e '3,/*/d'|cut -f2|cut -d' ' -f1`  ;;  *)  echo "Usage:net send <IPaddr.> <message>"  exit 1  esac # chmod a+x /scripts/net.sh


    (3) 发送消息弹窗命令测试:(发送给192.168.1.83这台win xp机子,发送内容不支持中文)
    # /scripts/net.sh  send  192.168.1.83     "hello,nihao"



    3、端口不通时发送邮件并消息弹窗告警的脚本如下:
    # vim /scripts/ncports.sh

    #!/bin/bash  #检测服务器端口是否开放,成功会返回0值,打不开会返回1值  cat /scripts/ip-ports.txt | while read line  do    nc -w 10 -z $line > /dev/null 2>&1    if [ $? -eq 0 ]    then      echo $line:ok     else      echo $line:fail      echo "服务器 $line 端口不通,请尽快处理!" | mutt -s "【机房监控】服务器$line端口不通"  test@139.com      /scripts/net send 192.168.1.83 "The $line fail"      fi   done 4、加入任务计划每2分钟执行一次

    # crontab -e

    */2 * * * *  /scripts/ncports.sh  > /dev/null 2>&1 # service crond restart

    展开全文
  • Ping命令和网络端口

    千次阅读 2019-07-18 17:40:24
    使用IPCONFIG命令可查看本机的IP地址,Ping IP地址,若Ping通,说明网络适配器(网卡或MODEM)工作正常,否则就不正常。 3.Ping同网段计算机IP地址 Ping 不通则说明网络线路出现故障,如网络中还...

    1.Ping 127.0.0.1 
    127.0.0.1是本地的循环地址,Ping通则说明TCP/IP协议工作正常,否则TCP/IP就不正常。

    2.Ping本机的IP地址 
    使用IPCONFIG命令可查看本机的IP地址,Ping IP地址,若Ping通,说明网络适配器(网卡或MODEM)工作正常,否则就不正常。

    3.Ping同网段计算机IP地址 
    Ping 不通则说明网络线路出现故障,如网络中还有路由器,则应先Ping路由器在本网段端口的IP地址,不通则此段线路有问题,通则再Ping路由器在目标计算机所在网段的端口IP地址,不通则路由出现故障,通再Ping目的机的IP地址。

    4.Ping网址 
    若要检测一下一个带DNS服务的网络(如Internet),在上一步Ping通了目标计算机的IP后,仍然无法连接到该机,则可以Ping机的网络名,正常情况下会出现该网址所指向的IP地址,这表明本机的DNS设置正确而且DNS服务器工作正常,反之就可能是其中之一出现了故障;同样也可以通过Ping计算机名检测WINS解析的故障(WINS是将计算机名解析到IP地址的服务。)。

    18 电脑端口基础知识 电脑端口基础知识 
    端口可分为3大类:

    1) 公认端口(Well Known Ports):从0到1023,它们紧密绑定于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:80端口实际上总是HTTP通讯。

    2) 注册端口(Registered Ports):从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024左右开始。

    3) 动态和/或私有端口(Dynamic and/or Private Ports):从49152到65535。理论上,不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。但也有例外:SUN的RPC端口从32768开始。

    本节讲述通常TCP/UDP端口扫描在防火墙记录中的信息。记住:并不存在所谓ICMP端口。如果你对解读ICMP数据感兴趣,请参看本文的其它部分。

    0 通常用于分析操作系统。这一方法能够工作是因为在一些系统中”0”是无效端口,当你试图使用一种通常的闭合端口连接它时将产生不同的结果。一种典型的扫描:使用IP地址为0.0.0.0,设置ACK位并在以太网层广播。

    1 tcpmux 这显示有人在寻找SGI Irix机器。Irix是实现tcpmux的主要提供者,缺省情况下tcpmux在这种系统中被打开。Iris机器在发布时含有几个缺省的无密码的帐户,如lp, guest, uucp, nuucp, demos, tutor, diag, EZsetup, OutOfBox, 和4Dgifts。许多管理员安装后忘记删除这些帐户。因此Hacker们在Internet上搜索tcpmux并利用这些帐户。

    7 Echo 你能看到许多人们搜索Fraggle放大器时,发送到x.x.x.0和x.x.x.255的信息。

    常见的一种DoS攻击是echo循环(echo-loop),攻击者伪造从一个机器发送到另一个机器的UDP数据包,而两个机器分别以它们最快的方式回应这些数据包。(参见Chargen)

    另一种东西是由DoubleClick在词端口建立的TCP连接。有一种产品叫做”Resonate Global Dispatch”,它与DNS的这一端口连接以确定最近的路由。

    Harvest/squid cache将从3130端口发送UDP echo:”如果将cache的source_ping on选项打开,它将对原始主机的UDP echo端口回应一个HIT reply。”这将会产生许多这类数据包。

    11 sysstat 这是一种UNIX服务,它会列出机器上所有正在运行的进程以及是什么启动了这些进程。这为入侵者提供了许多信息而威胁机器的安全,如暴露已知某些弱点或帐户的程序。这与UNIX系统中”ps”命令的结果相似

    再说一遍:ICMP没有端口,ICMP port 11通常是ICMP type=11

    19 chargen 这是一种仅仅发送字符的服务。UDP版本将会在收到UDP包后回应含有垃圾字符的包。TCP连接时,会发送含有垃圾字符的数据流知道连接关闭。Hacker利用IP欺骗可以发动DoS攻击。伪造两个chargen服务器之间的UDP包。由于服务器企图回应两个服务器之间的无限的往返数据通讯一个chargen和echo将导致服务器过载。同样fraggle DoS攻击向目标地址的这个端口广播一个带有伪造受害者IP的数据包,受害者为了回应这些数据而过载。

    21 ftp 最常见的攻击者用于寻找打开”anonymous”的ftp服务器的方法。这些服务器带有可读写的目录。Hackers或Crackers 利用这些服务器作为传送warez (私有程序) 和pr0n(故意拼错词而避免被搜索引擎分类)的节点。

    22 ssh PcAnywhere建立TCP和这一端口的连接可能是为了寻找ssh。这一服务有许多弱点。如果配置成特定的模式,许多使用RSAREF库的版本有不少漏洞。(建议在其它端口运行ssh)

    还应该注意的是ssh工具包带有一个称为make-ssh-known-hosts的程序。它会扫描整个域的ssh主机。你有时会被使用这一程序的人无意中扫描到。

    UDP(而不是TCP)与另一端的5632端口相连意味着存在搜索pcAnywhere的扫描。5632(十六进制的0x1600)位交换后是0我是猪头,我不该发广告016(使进制的22)。

    23 Telnet 入侵者在搜索远程登陆UNIX的服务。大多数情况下入侵者扫描这一端口是为了找到机器运行的操作系统。此外使用其它技术,入侵者会找到密码。

    25 smtp 攻击者(spammer)寻找SMTP服务器是为了传递他们的spam。入侵者的帐户总被关闭,他们需要拨号连接到高带宽的e-mail服务器上,将简单的信息传递到不同的地址。SMTP服务器(尤其是sendmail)是进入系统的最常用方法之一,因为它们必须完整的暴露于Internet且邮件的路由是复杂的(暴露+复杂=弱点)。

    53 DNS Hacker或crackers可能是试图进行区域传递(TCP),欺骗DNS(UDP)或隐藏其它通讯。因此防火墙常常过滤或记录53端口。

    需要注意的是你常会看到53端口做为UDP源端口。不稳定的防火墙通常允许这种通讯并假设这是对DNS查询的回复。Hacker常使用这种方法穿透防火墙。

    67和68 Bootp和DHCP UDP上的Bootp/DHCP:通过DSL和cable-modem的防火墙常会看见大量发送到广播地址255.255.255.255的数据。这些机器在向DHCP服务器请求一个地址分配。Hacker常进入它们分配一个地址把自己作为局部路由器而发起大量的”中间人”(man-in-middle)攻击。客户端向68端口(bootps)广播请求配置,服务器向67端口(bootpc)广播回应请求。这种回应使用广播是因为客户端还不知道可以发送的IP地址。

    69 TFTP(UDP) 许多服务器与bootp一起提供这项服务,便于从系统下载启动代码。但是它们常常错误配置而从系统提供任何文件,如密码文件。它们也可用于向系统写入文件。

    79 finger Hacker用于获得用户信息,查询操作系统,探测已知的缓冲区溢出错误,回应从自己机器到其它机器finger扫描。 
     98 linuxconf 这个程序提供linux boxen的简单管理。通过整合的HTTP服务器在98端口提供基于Web界面的服务。它已发现有许多安全问题。一些版本setuid root,信任局域网,在/tmp下建立Internet可访问的文件,LANG环境变量有缓冲区溢出。此外因为它包含整合的服务器,许多典型的HTTP漏洞可能存在(缓冲区溢出,历遍目录等)

    109 POP2 并不象POP3那样有名,但许多服务器同时提供两种服务(向后兼容)。在同一个服务器上POP3的漏洞在POP2中同样存在。 
     110 POP3 用于客户端访问服务器端的邮件服务。POP3服务有许多公认的弱点。关于用户名和密码交换缓冲区溢出的弱点至少有20个(这意味着Hacker可以在真正登陆前进入系统)。成功登陆后还有其它缓冲区溢出错误。

    111 sunrpc portmap rpcbind Sun RPC PortMapper/RPCBIND。访问portmapper是扫描系统查看允许哪些RPC服务的最早的一步。常见RPC服务有:rpc.mountd, NFS, rpc.statd, rpc.csmd, rpc.ttybd, amd等。入侵者发现了允许的RPC服务将转向提供服务的特定端口测试漏洞。

    记住一定要记录线路中的daemon, IDS, 或sniffer,你可以发现入侵者正使用什么程序访问以便发现到底发生了什么。

    113 Ident auth 这是一个许多机器上运行的协议,用于鉴别TCP连接的用户。使用标准的这种服务可以获得许多机器的信息(会被Hacker利用)。但是它可作为许多服务的记录器,尤其是FTP, POP, IMAP, SMTP和IRC等服务。通常如果有许多客户通过防火墙访问这些服务,你将会看到许多这个端口的连接请求。记住,如果你阻断这个端口客户端会感觉到在防火墙另一边与e-mail服务器的缓慢连接。许多防火墙支持在TCP连接的阻断过程中发回RST,着将回停止这一缓慢的连接。

    119 NNTP news 新闻组传输协议,承载USENET通讯。当你链接到诸如:news://comp.security.firewalls/. 的地址时通常使用这个端口。这个端口的连接企图通常是人们在寻找USENET服务器。多数ISP限制只有他们的客户才能访问他们的新闻组服务器。打开新闻组服务器将允许发/读任何人的帖子,访问被限制的新闻组服务器,匿名发帖或发送spam。

    135 oc-serv MS RPC end-point mapper Microsoft在这个端口运行DCE RPC end-point mapper为它的DCOM服务。这与UNIX 111端口的功能很相似。使用DCOM和/或RPC的服务利用机器上的end-point mapper注册它们的位置。远端客户连接到机器时,它们查询end-point mapper找到服务的位置。同样Hacker扫描机器的这个端口是为了找到诸如:这个机器上运行Exchange Server吗?是什么版本?

    这个端口除了被用来查询服务(如使用epdump)还可以被用于直接攻击。有一些DoS攻击直接针对这个端口。

    137 NetBIOS name service nbtstat (UDP) 这是防火墙管理员最常见的信息,请仔细阅读文章后面的NetBIOS一节

    139 NetBIOS File and Print Sharing 通过这个端口进入的连接试图获得NetBIOS/SMB服务。这个协议被用于Windows”文件和打印机共享”和SAMBA。在Internet上共享自己的硬盘是可能是最常见的问题。

    大量针对这一端口始于1999,后来逐渐变少。2000年又有回升。一些VBS(IE5 VisualBasic scrīpting)开始将它们自己拷贝到这个端口,试图在这个端口繁殖。

    143 IMAP 和上面POP3的安全问题一样,许多IMAP服务器有缓冲区溢出漏洞运行登陆过程中进入。记住:一种Linux蠕虫(admw0rm)会通过这个端口繁殖,因此许多这个端口的扫描来自不知情的已被感染的用户。当RadHat在他们的Linux发布版本中默认允许IMAP后,这些漏洞变得流行起来。Morris蠕虫以后这还是第一次广泛传播的蠕虫。

    这一端口还被用于IMAP2,但并不流行。

    已有一些报道发现有些0到143端口的攻击源于脚本。

    测试端口是否开放用telnet命令

    展开全文
  • 文章目录rsync安装sshpass安装rsync常用参数说明sshpass命令 免密登录,默认22端口 # sshpass -p password rsync -avz user@ip:/data/ /data/ 一行代码完事,免密登录,指定非22端口的其他端口号 # sshpass -p ...


    免密登录,默认22端口

    # sshpass -p password rsync -avz user@ip:/data/ /data/
    

    一行代码完事,免密登录,指定非22端口的其他端口号

    # sshpass -p password rsync -avz --compress --recursive --bwlimit=3000  '-e ssh -p 7022' user@ip:/data/ /data/
    
    命令 解释
    password 目标服务器密码,特殊字符需要用\转译,如\@\#
    rsync -avz 增量同步
    –compress 在传输文件时进行压缩处理
    –recursive 对子目录以递归模式处理
    –bwlimit=3000 限制带宽,3000*8=24m
    ‘-e ssh -p 7022’ 指定端口号7022,如果默认22忽略这个
    user@39.105.131.110:/data/ /data/ 用户名@ip:目标路径 本地路径

    [注:shell命令要和sshpass命令写在一行]

    rsync安装

    # yum -y install rsync  
    

    启动rsync服务

    # systemctl start rsyncd.service
    # systemctl enable rsyncd.service
    

    检查是否已经成功启动

    netstat -lnp|grep 873
    

    sshpass安装

    sshd服务优化:未连接过的主机,而又不用输入yes进行确认。

    # vim /etc/ssh/ssh_config   
    StrictHostKeyChecking no
    
    # vim /etc/ssh/sshd_config  
    GSSAPIAuthentication no
    UseDNS no
    
    # service sshd restart
    

    sshpass 命令的安装:

    # yum -y install sshpass
    

    rsync常用参数说明

    -delete   刪除服务端不存在的客户端文件
    -password-file=FILE   指定本机rsyncd.secrets的位置
    -a, --archive        归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
    -v, --verbose        详细模式输出
    -q, --quiet        精简输出模式
    -c, --checksum        打开校验开关,强制对文件传输进行校验
    -r, --recursive        对子目录以递归模式处理
    -R, --relative        使用相对路径信息
    -b, --backup        创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。可以使用--suffix选项来指定不同的备份文件前缀。
    --backup-dir        将备份文件(如~filename)存放在在目录下。
    -suffix=SUFFIX定义备份文件前缀
    -u, --update        仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件)
    -l, --links        保留软链结
    -L, --copy-links        想对待常规文件一样处理软链结
    --copy-unsafe-links        仅仅拷贝指向SRC路径目录树以外的链结
    --safe-links        忽略指向SRC路径目录树以外的链结
    -H, --hard-links        保留硬链结
    -p, --perms        保持文件权限
    -o, --owner        保持文件属主信息
    -g, --group        保持文件属组信息
    -D, --devices        保持设备文件信息
    -t, --times        保持文件时间信息
    -S, --sparse        对稀疏文件进行特殊处理以节省DST的空间
    -n, --dry-run        现实哪些文件将被传输
    -W, --whole-file        拷贝文件,不进行增量检测
    -x, --one-file-system        不要跨越文件系统边界
    -B, --block-size=SIZE        检验算法使用的块尺寸,默认是700字节
    -e, --rsh=COMMAND        指定使用rsh、ssh方式进行数据同步
    --rsync-path=PATH        指定远程服务器上的rsync命令所在路径信息
    -C, --cvs-exclude        使用和CVS一样的方法自动忽略文件,用来排除那些不希望传输的文件
    -f, --filter=RULE   从指定文件加载过滤规则。
    --existing        仅仅更新那些已经存在于DST的文件,而不备份那些新创建的文件
    --delete        删除那些DST中SRC没有的文件
    --delete-excluded        同样删除接收端那些被该选项指定排除的文件
    --delete-after        传输结束以后再删除
    --ignore-errors        及时出现IO错误也进行删除
    --max-delete=NUM        最多删除NUM个文件
    -P, --partial        保留那些因故没有完全传输的文件,以是加快随后的再次传输
    --force        强制删除目录,即使不为空
    --numeric-ids        不将数字的用户和组ID匹配为用户名和组名
    --timeout=TIME         IP超时时间,单位为秒
    -I, --ignore-times        不跳过那些有同样的时间和长度的文件
    --size-only        当决定是否要备份文件时,仅仅察看文件大小而不考虑文件时间
    --modify-window=NUM        决定文件是否时间相同时使用的时间戳窗口,默认为0
    -T --temp-dir=DIR        在DIR中创建临时文件
    --compare-dest=DIR        同样比较DIR中的文件来决定是否需要备份
    --progress        显示备份过程
    -z, --compress        对备份的文件在传输时进行压缩处理
    --exclude=PATTERN        指定排除不需要传输的文件模式
    --include=PATTERN        指定不排除而需要传输的文件模式
    --exclude-from=FILE        排除FILE中指定模式的文件
    --include-from=FILE        不排除FILE指定模式匹配的文件
    --version        打印版本信息
    --address        绑定到特定的地址
    --config=FILE        指定其他的配置文件,不使用默认的rsyncd.conf文件
    --port=PORT        指定其他的rsync服务端口
    --blocking-io        对远程shell使用阻塞IO
    -stats给出某些文件的传输状态
    --progress        在传输时现实传输过程
    --log-format=formAT        指定日志文件格式
    --password-file=FILE        从FILE中得到密码
    --bwlimit=KBPS        限制I/O带宽,KBytes per second
    -h, --help        显示帮助信息
    

    sshpass命令

    sshpass:用于非交互的ssh 密码验证
    使用 -p 参数指定明文密码,然后直接登录远程服务器。 它支持密码从命令行,文件,环境变量中读取
    1、从命令行方式传递密码

    sshpass -p user_password ssh user_name@192.168.1.2  【登录远程机器】
    sshpass -p user_password scp -P22 root@192.168.1.2:/home/test  ./ 【远程机器/home/test 复制到本机当前目录】
    

    还可以加参数 -q 【去掉进度显示】
    2、从文件读取密码

    echo "user_password" > user.passwd
    sshpass -f user.passwd ssh user_name@192.168.1.2
    

    3、从环境变量获取密码

    export SSHPASS="user_password"
    sshpass -e ssh user_name@192.168.1.2 
    

    4、-o StrictHostKeyChecking=no 表示远程连接时不提示是否输入yes/no

    sshpass -p user_password ssh  -o StrictHostKeyChecking=no  user_name@192.168.1.2 
    

    5、使用sshpass远程免密,在远程主机上执行shell命令,如下远程执行命令:

    touch /opt/file.txt
    sshpass -p user_password ssh  -o StrictHostKeyChecking=no  user_name@192.168.1.2  touch /opt/file.txt
    
    展开全文
  • 利用ssh命令建立SOCKS5代理服务器

    千次阅读 2019-03-29 14:18:39
    对于那些想上网的人说这很方便 - 你...该ssh命令启动-D端口上的动态端口转发,1080并通过SOCSK5或SOCKS4协议与客户端通信,就像常规的SOCKS5代理一样!该-N选项确保ssh保持空闲状态,并且不在主机上执行任何命令...

    ssh命令建立SOCKS5代理服务器

    一、ssh命令建立SOCKS5代理服务器

    ssh -f -N -D bindaddress:port name@server
    

    bindaddress :指定绑定ip地址
    port : 指定侦听端口
    name: ssh服务器登录名
    server: ssh服务器地址
    -N 选项确保ssh保持空闲状态,并且不在主机上执行任何命令。(不执行shell)
    -D 端口上的动态端口转发
    (Specifies a local “dynamic” application-level port forwarding.Currently the SOCKS4 and SOCKS5 protocols are supported, and ssh will act as a SOCKS server.)
    -f 作为守护进程进入后台

    举例1:假设把一个树莓派作为SOCKS5代理服务器,该树莓派的IP地址是192.168.4.160,SOCKS5的端口7070,在树莓派中输入如下命令:

    ssh -f -N -D 192.168.4.160:7070 pi@127.0.0.1

    这样就建立了SOCKS5代理。

    举例2:

    ssh -f -N -D 0.0.0.0:1080 she@127.0.0.1
    

    访问控制可以通过实现iptables。例如,要仅允许来自ip的1.2.3.4人员使用SOCKS5代理,请添加以下iptables规则:

    iptables -A INPUT --src 1.2.3.4 -p tcp --dport 1080 -j ACCEPT
    iptables -A INPUT -p tcp --dport 1080 -j REJECT
    

    第一条规则说,允许任何人1.2.3.4连接到端口1080,另一条规则说,拒绝其他所有人连接到端口1080。

    二、停止ssh 开启的socks代理

    命令会在后台运行,可以通过ps aux | grep ssh查看进程是否在正常运行。
    如果需要关闭进程,杀掉运行的进程即可

    三、测试SOCKS5 服务是否正常

    1. 通过socket.sendUrgentData(0xff);来检测是否与服务端连通

    package socks5;
    
    
    import java.net.Socket;
    
    /**
     * java之socket的OOBInline和UrgentData和发送心跳包研究
     * 参考URL: https://blog.csdn.net/u011068702/article/details/53413325
     *
     * UrgentData可以理解为紧急发送数据方式,如果我们客户端先用write方法写入数据,再用UrgentData发送数据,再去执行flush操作,
     * 我们可以得到服务端先打印UrgentData发送的数据,然后再打印write写入的数据。
     *
     * 说明使用sendUrgentData方法发送数据后,系统会立即将这些数据发送出去;而使用write发送数据,必须要使用flush方法才会真正发送数据。
     *
     * 我们还可以通过socket.sendUrgentData(0xff);来检测是否与服务端连通,和ping IP 效果差不多,
     * 其它的socket.isConnected() socket.isOutputShutdown()都是本地检测
     */
    public class TestClient {
    
        public static void main(String[] args){
            System.out.println(isConnected());
        }
    
        @SuppressWarnings("resource")
        public static boolean isConnected(){
            Socket socket;
            try{
                socket=new Socket("11.12.117.101", 1080);
                //往输出流发送一个字节的数据,只要对方Socket的SO_OOBINLINE属性没有打开,就会自动舍弃这个字节,
                // 而SO_OOBINLINE属性默认情况下就是关闭的
                socket.sendUrgentData(0xFF);
                return true;
            }catch(Exception e){
                return false;
            }
    
        }
    }
    

    2. 通过具体的应用软件测试,举例filezilla client

    1)编辑–>设置,如下,配置socks5服务器相关信息。
    在这里插入图片描述
    2)填写ftp 地址,进行ftp连接。
    11.12.112.184 是真实FTP地址
    11.12.117.101 是socks5代理服务器地址。

    如下连接日志,可以看到,filezilla client自动会连接代理服务器建立连接。
    在这里插入图片描述
    FTP服务端看到的是你socks代理服务器ip地址。
    在这里插入图片描述

    四、参考

    SSH搭建Socks Proxy
    参考URL: https://www.jianshu.com/p/274b691f672d

    展开全文
  • 对手就可以利用这个防火墙上的“大洞”偷运数据,并且建立一个非常难以限制的隐蔽命令控制信道。为了学习 DNS 作为命令控制信道的使用方法,我们今天介绍一个由 Ron Bowes 开发的工具 dnscat2,有了这个工具我们...
  • DOS查看端口命令

    千次阅读 2010-08-10 18:11:00
    在Windows 2000/XP/Server 2003中要查看端口,可以使用Netstat命令: 依次点击“开始→运行”,键入“cmd”并回车,打开命令提示符窗口。在命令提示符状态下键入“netstat -a -n”,按下回车键后就可以看到...
  • 用DOS命令关闭端口

    万次阅读 2010-12-31 15:21:00
    <br />用DOS命令关闭端口 方法一: 开始--运行--cmd ipseccmd -w REG -p "HFUT_SECU" -r "Block TCP/135" -f *+0:135:TCP -n BLOCK -x >nul  ipseccmd -w REG -p "HFUT_SECU" -r "Block ...
  • linux—用nc命令监控检测服务器端口

    千次阅读 2015-11-02 13:38:38
    前端用apache htttpd进行发布(80端口),通过双机负载均衡转发到后端的两个tomcat进行处理(8081和8082端口), 现在需要随时监控这三个端口的情况,一旦down掉需要能够立即告警处理。...一、nc命令检测端口的用法
  • 常见端口漏洞利用

    千次阅读 2021-03-05 08:38:38
    常见端口漏洞利用 快速扫描:Masscan -p80,800 ip --rate=10000   21/ FTP 匿名/暴力破解  拒绝服务 22/ SSH 暴力破解 23/ telnet Winbox(cve-2018-14847) 161/ snmp 弱口令  ...
  • 服务器某程序固定占用某端口,每次通过 lsof -i:端口号 然后用kill -9 ,把进程杀死掉。...进程确定占用某一tcp端口,如下命令可以杀掉该进程。 kill -9 $(netstat -tlnp|grep 1099|awk '{print $7}'|awk -
  • adb是什么?:adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS调试android程序,说白了就是debug工具。adb的工作方式比较特殊,采用监听Socket TCP 5554等...
  • 利用命令行启动tomcat

    千次阅读 2018-11-20 11:11:57
    但我们手动启动tomcat时,若果报错就会闪关,但是用命令行启动就可以清晰的找到错误的原因。 工具/原料 tomcat 方法/步骤 选择开始,输入cmd,回车,或者windows+r 输入cmd的快捷键 下载一个免安装版的tomcat...
  • 网络端口查看命令

    千次阅读 2014-01-19 15:06:20
    它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句帮助你去掉无用的信息。   实用命令实例 默认启动 tcpdump 普通情况下,直接启动 tcpdump 将监视第一个网络...
  • window下查看端口命令

    万次阅读 2012-01-06 14:32:07
    启动apache提示80端口busy被占用。于是查看一看80端口占用情况。 开始–运行–cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID...
  • 这是作者网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您喜欢,一起...这篇文章将复现CVE-2020-11107漏洞,利用XAMPP任意命令执行漏洞提升权限,希望对您有所帮助。
  • Linux使用nc命令监控检测服务器端口

    万次阅读 2012-11-16 11:12:05
    前端用apache htttpd进行发布(80端口),通过双机负载均衡转发到后端的两个tomcat进行处理(8081和8082端口),现在...在网上查了一些资料,总结实验了一下,可以用简单的nc命令来实现。 一、nc命令检测端口的用法
  • 1、端口检测在Linux系统上测试端口是否通除了使用telnet外,还是可以使用nc命令,特别是在写维护脚本,由于telnet如果遇到端口不通,需要等待较长时间才能得到结果,而使用nc可以设置检测时长,同时可以一次性检测多...
  • 查看mac终端端口命令 netstat -AaLlnW

    千次阅读 2016-08-30 15:48:06
    查看mac终端端口命令 netstat -AaLlnW
  • 利用route命令配置双网路由

    万次阅读 2007-09-15 11:31:00
    作者:fbysssmsn:jameslastchina@hotmail.com blog:blog.csdn.net/fbysss声明:本文由fbysss原创,转载请注明出处 关键字:Spring,事务处理背景:ADSL与教育网都要...二、使用如下命令设置路由:route add 0.0.0.0 m
  • 用windows dos命令查看端口使用情况

    千次阅读 2009-12-27 16:01:00
    修改的apache的配置文件 添加了 一个虚拟主机 所以要重启apache 生效 ,但是 却产生了一个 apache 启动失败的意外错误,晕了,不知道怎么回事, 没有办法了 google一下吧 了解到有可能是 apache默认的80端口被占用了...
  • Grub 命令以及启动详解

    万次阅读 2010-04-15 10:21:00
    Grub详解 rhgb表示redhat graphics boot,就是会看到图片代替启动过程中显示的文本信息,这些信息在启动后用dmesg也可以看到quiet表示在启动过程中只有重要信息显示,类似硬件自检的消息不回显示 应樱家冢、...
  • 首先确保计算机已经安装无线网卡驱动程序,使用如图的命令进行检查哪个端口支持无线连接,一般都是wlan0但也不包括特殊的.然后查看这个接口是否为启动状态,如果是关闭状态就需要改为启动状态,使用如图的命令进行扫描...
  • 利用139/445端口思路——永恒之蓝

    千次阅读 2020-05-30 19:48:37
    Eternalblue通过TCP端口445和139来利用SMBv1和NBT中的远程代码执行漏洞,恶意代码会扫描开放445文件共享端口的Windows机器,无需用户任何操作,只要开机上网,不法分子就能在电脑和服务器中植入勒索软件、远程控制...
  • Linux 查看服务启动 以及端口占用

    千次阅读 2012-12-05 11:42:05
    1. 查看Linux启动的服务 chkconfig --list 查询出所有当前运行的服务 chkconfig --list atd 查询atd服务的当前状态 2.停止所有服务并且在下次系统启动时不再启动,如下所示: chkconfig --levels 12345 ...
  • 1433,3306,3389端口利用

    千次阅读 2018-04-13 11:06:22
    3389爆破说教程之前我们先说说3389端口是干嘛的:计算机的3389端口, 一般被用来代指远程桌面,可以被修改。它并不是一个木马程序,但如果不是必须的,建议关闭该服务。买过独立IP服务器的朋友都知道 3389 是默认...
  • netstat命令监控tcp,占用端口等等

    万次阅读 2011-12-01 15:41:18
    netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息, 语 法:netstat [-acCeFghilMnNoprstuvVwx][-A网络类型>][--ip] 补充说明:利用netstat...
  • 何谓端口,打个比方,你住在一座房子里,想让别人拜访你,得在房子上开个大门,你养了个可爱的小猫,为了它的进出,专门给它修了个小门,为了到后花园,又开了个后门……所有这些为了进到这所房子里而开的门叫端口...
  • windows常用命令行命令

    万次阅读 多人点赞 2017-08-31 11:16:21
    也可以通过cmd /c 命令和cmd /k 命令的方式直接运行命令 注:/c表示执行完命令后关闭cmd窗口;/k表示执行完命令后保留cmd窗口 # 控制台命令窗口中一些技巧 复制内容:右键弹出快捷菜单,选择“标记(K)”,然后...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 158,645
精华内容 63,458
关键字:

利用什么命令来启动端口