Generates the fancy Scapy banner :param mini: if set, force a mini banner or not. Otherwise detect
(mini: Optional[bool] = None)
| 566 | |
| 567 | |
| 568 | def get_fancy_banner(mini: Optional[bool] = None) -> str: |
| 569 | """ |
| 570 | Generates the fancy Scapy banner |
| 571 | |
| 572 | :param mini: if set, force a mini banner or not. Otherwise detect |
| 573 | """ |
| 574 | from scapy.config import conf |
| 575 | from scapy.utils import get_terminal_width |
| 576 | if mini is None: |
| 577 | mini_banner = (get_terminal_width() or 84) <= 75 |
| 578 | else: |
| 579 | mini_banner = mini |
| 580 | |
| 581 | the_logo = [ |
| 582 | " ", |
| 583 | " aSPY//YASa ", |
| 584 | " apyyyyCY//////////YCa ", |
| 585 | " sY//////YSpcs scpCY//Pp ", |
| 586 | " ayp ayyyyyyySCP//Pp syY//C ", |
| 587 | " AYAsAYYYYYYYY///Ps cY//S", |
| 588 | " pCCCCY//p cSSps y//Y", |
| 589 | " SPPPP///a pP///AC//Y", |
| 590 | " A//A cyP////C", |
| 591 | " p///Ac sC///a", |
| 592 | " P////YCpc A//A", |
| 593 | " scccccp///pSP///p p//Y", |
| 594 | " sY/////////y caa S//P", |
| 595 | " cayCyayP//Ya pY/Ya", |
| 596 | " sY/PsY////YCc aC//Yp ", |
| 597 | " sc sccaCY//PCypaapyCP//YSs ", |
| 598 | " spCPY//////YPSps ", |
| 599 | " ccaacs ", |
| 600 | " ", |
| 601 | ] |
| 602 | |
| 603 | # Used on mini screens |
| 604 | the_logo_mini = [ |
| 605 | " .SYPACCCSASYY ", |
| 606 | "P /SCS/CCS ACS", |
| 607 | " /A AC", |
| 608 | " A/PS /SPPS", |
| 609 | " YP (SC", |
| 610 | " SPS/A. SC", |
| 611 | " Y/PACC PP", |
| 612 | " PY*AYC CAA", |
| 613 | " YYCY//SCYP ", |
| 614 | ] |
| 615 | |
| 616 | the_banner = [ |
| 617 | "", |
| 618 | "", |
| 619 | " |", |
| 620 | " | Welcome to Scapy", |
| 621 | " | Version %s" % conf.version, |
| 622 | " |", |
| 623 | " | https://github.com/secdev/scapy", |
| 624 | " |", |
| 625 | " | Have fun!", |
no test coverage detected